Я разрабатываю приложение, которое использует SWF для загрузки элементов и добавления свойств к загруженному SWF.Я использую SWFLoader для загрузки фильма и в случае события COMPLETE я перемещаю загруженный мувиклип в определенный кадр, а затем перечисляю его 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;
}
Чтобы получить правильный список детей.
Большое спасибо