2011-01-19 6 views

答えて

1

実行時または作成時(IDE内)を意味しますか?実行時、あなたはでしょうちょうどあなたが興味を持っているクリップをループや店舗 text/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'); 

これは、現在のMovieClipの各クリップがある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ファイルとしてこれを保存した場合IDEのメニューに表示されます。そうしないと、単純に実行することができます。 nameプロパティが格納されていないため、選択にMovieClip(またはnameを持つ要素)が含まれている必要があります。保存ダイアログが表示され、xmlがテキストファイルに保存されます。

これは基本的な例ですが、必要に応じてこのテキストファイルを開始して書き込むことができます(選択肢の代わりにすべてのムービークリップをトラバースしたい場合や、さまざまなプロパティを保存するなどがあります)。 )

恥知らずのプラグ:このslim JSFL presentationが便利でしょう。

HTH

+0

フラッシュビルダー4ではどのようにこの作業を行いますか? –

+0

@Leticia私はフラッシュビルダー/フレックスタグ/質問が表示されませんでした。 Flash Builderでは、Flash Professionalと同じオーサリング環境を持っていないため、JSFLのアプローチはうまくいかないでしょう。変換データ(位置、回転、スケール)を取得するには、目的のDisplayObjectContainerのコンテンツをループするにはactionscriptを使用する必要があります。あなたは正確に何を達成しようとしていますか? –

関連する問題