Я разрабатываю приложение, которое использует swf для загрузки элементов и добавления свойств к загруженному swf. Я использую SWFLoader для загрузки фильма и в событии COMPLETE перемещаю загруженный MovieClip в определенный кадр, а затем перечисляю его DisplayList. Я обнаружил, что если я скоро прохожу по списку, заметка загружается. Может, с кодом чище:
loader.addEventListener(Event.COMPLETE, function(evt:Event):void{
var mc:MovieClip = MovieClip(loader.content);
mc.gotoAndStop(frameNumber);
for(i = 0; i < mc.numChildren; i++){
trace(mc.getChildAt(i));
}
}
Я скучаю по некоторым дочерним элементам из загруженного swf, и в некоторых случаях я получаю нулевые значения. Теперь я добавил Timer (), который ждет 250 мс перед выводом списка отображения и работает, но очень медленно и неэффективно.
Другое странное поведение заключается в том, что с предыдущим фрагментом я не могу получить MovieClip даже с установленным таймером. Мне пришлось вставить функцию в загруженный swf следующим образом:
function getItems():Array{
var res:Array = [];
for(var i:uint = 0; i < this.numChildren; i++){
res.push(this.getChildAt(i));
}
return res;
}
Получить правильный список детей.
Большое спасибо