2011-01-19 3 views

답변

1

런타임 또는 제작자 시점 (IDE에서)을 의미합니까?

var layout = <layout />;//create the root node for our xml 
var elementsNum = numChildren;//store this for counting 

for(var i = 0 ; i < elementsNum ; i++){ 
    var clip = getChildAt(i); 
    layout.appendChild(<element />);//add an element node 
    layout.element[i][email protected] = clip.name;//setup attributes 
    layout.element[i][email protected] = clip.x; 
    layout.element[i][email protected] = clip.y; 
    layout.element[i][email protected] = clip.rotation; 
    layout.element[i][email protected] = clip.scaleX; 
    layout.element[i][email protected] = clip.scaleY; 
} 

flash.system.System.setClipboard(layout); 
trace('layout copied to clipboard'); 

이가 XML을 만들 것입니다 현재 무비 클립의 각 클립이입니다 : 런타임

, 당신은 당신이 관심과 텍스트/XML에 속성을 저장하는 클립을 통해 단지 루프 것 노드 및 일부 특성이 저장됩니다. 그러면 xml이 클립 보드로 복사됩니다.

당신은 선택과 같은 간단한 뭔가 저자 시간에 비슷한 뭔가를 할 수

: 당신은 플래시의 명령 폴더에 .jsfl 파일로이 작업을 저장하면

var doc = fl.getDocumentDOM();//get the current document ref. 
var selection = doc.selection;//get the selection 
var layout = <layout />;//create the root node for our xml 
var elementsNum = selection.length;//store this for counting 

for(var i = 0 ; i < elementsNum ; i++){ 
    layout.appendChild(<element />);//add an element node 
    layout.element[i][email protected] = selection[i].name;//setup attributes 
    layout.element[i][email protected] = selection[i].x; 
    layout.element[i][email protected] = selection[i].y; 
    layout.element[i][email protected] = selection[i].rotation; 
    layout.element[i][email protected] = selection[i].scaleX; 
    layout.element[i][email protected] = selection[i].scaleY; 
} 

var url = fl.browseForFileURL('save','Save Layout');//prompt for location 
if(url) fl.trace(FLfile.write(url,layout));//save 

이 명령에 팝업한다 메뉴에서 IDE를 선택하십시오. 그렇지 않으면 간단히 실행할 수 있습니다. 이름 속성을 저장하지 않으므로 선택 항목에 MovieClip (또는 이름이있는 요소)이 포함되어야합니다. 그런 다음 저장 대화 상자가 표시되고 xml이 텍스트 파일에 저장됩니다.

이들은 기본적인 예제이지만 필요한 방식으로이 텍스트 파일을 시작하고 작성할 수 있어야합니다 (선택 항목 대신 모든 동영상 클립을 트래버스하고 다른 속성을 저장하려는 경우 등).)

뻔뻔한 플러그 : slim JSFL presentation을 쉽게 찾을 수 있습니다.

HTH

+0

플래시 빌더 4에서 어떻게 작동합니까? –

+0

@Leticia 플래시 빌더/플렉스 태그/질문을 보지 못했습니다. 플래시 빌더에서는 플래시 전문가와 동일한 제작 환경이 없으므로 JSFL 방식이 효과가 없을 수 있습니다. 변환 데이터 (위치, 회전, 크기 조절)를 얻으려면 관심있는 DisplayObjectContainer의 내용을 반복하려면 actionscript를 사용해야합니다. 정확히 당신이 성취하고자하는 것은 무엇입니까? –