Доступ к дочерним / вложенным видеоклипам с помощью JSFL AS3 CS5.5

Как я могу получить доступ к дочерним фрагментам видеоклипа (в частности, дочерним видеоклипам) в jsfl? Я уже на уровне экземпляра из flash.documents [0].timelines [0].layers [0].frames [0].elements [0].instance. Я нашел эту документацию, но не более того. Заранее спасибо.

1 ответ

Решение

В 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() является обычным способом получения текущего документа и временной шкалы.

Другие вопросы по тегам