2011-01-19 45 views

回答

1

您是指在運行時還是在作者時間(在IDE中)?

運行時,你只需通過你感興趣,並存儲在文本/ XML 屬性剪輯循環:

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複製到剪貼板。

你可以做在創作時類似的東西簡單的東西,比如選擇:

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 

如果保存此作爲Flash的命令文件夾中的.jsfl文件,它應該在命令彈出菜單,否則你應該可以簡單地運行它。 不是它存儲名稱屬性,所以選擇應該包含MovieClip(或具有名稱的元素)。然後顯示保存對話框,並將xml保存到文本文件中。

這些是基本的例子,但應該讓你開始並按照需要編寫這個文本文件(你可能想遍歷所有的影片剪輯而不是選擇,可能想要存儲不同的屬性等等。 )

無恥的插件:你可能會發現這個slim JSFL presentation得心應手。

HTH

+0

你將如何使這個工作的Flash Builder 4? – 2011-01-20 04:00:56