4

jsflでムービークリップの子(特に子ムービークリップ)にアクセスするにはどうすればよいですか?私はすでにflash.documents[0].timelines [0] .layers [0] .frames [0] .elements [0] .instanceのインスタンスレベルにいますが、このドキュメントは見つかりましたが、他にはあまりありません。前もって感謝します。

4

1 に答える 1

15

JSFL で覚えておくべきことは、ステージ上の要素はライブラリ内のアイテムでもあるということです。そのため、何回ネストされていても問題ありません。それはライブラリ内のクリップのままであり、多くの場合、そこから作業したいと考えています。 .

あなたの場合は次のようになります。

// break up your previous path to illustrate the "timeline" point
var timeline        = flash.documents[0].timelines[0];

// grab the element
var element         = timeline.layers[0].frames[0].elements[0];

// get its associated library item (same instance, just a Library Item, not a stage Element)
var item            = element.libraryItem;

// then grab the library item's "timeline" property
var childTimeline   = item.timeline

// and you can now access any "nested" elements on it
trace(childTimeline.layers[0].frames[0].elements)

最初は直感に反するように見えますが、すぐに慣れます。それについて考える最も簡単な方法は、基本的にすべての要素がライブラリに存在するため、「トップレベル」であるということです。

また、 fl.getDocumentDOM().getTimeline() は、現在のドキュメントとタイムラインを取得する通常の方法です。

于 2011-09-23T01:01:48.233 に答える