Я успешно использую Loader::load()
для загрузки SWF-файлов в мой основной SWF-файл, а затем добавляю их как дочерний элемент Sprite. Когда происходят другие события, я хочу удалить swfs по мере необходимости. Я посмотрел на unload()
и removeChildAt()
без успеха.
Я только добавил вызов addChild()
, чтобы попытаться зафиксировать загруженный экземпляр, чтобы я мог удалить его. Загрузка отлично работает без addChild();
Я также попытался опубликовать на плеере v.10 и использовать myLoader.unloadAndStop()
; но это тоже не имеет никакого эффекта;
Следующий демонстрационный код показывает мою проблему. Я вижу, что один ребенок добавлен, а другой удален, но intro.swf все еще не работает.
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.LoaderInfo;
import flash.net.URLRequest;
var myLoader:Loader = new Loader();
var holderMC:Sprite = new Sprite();
var myRequest:URLRequest = new URLRequest('intro.swf');
myLoader.load(myRequest);
holderMC.addChild(myLoader);
trace("initial:"+holderMC.numChildren); // traces initial:1
while(holderMC.numChildren > 0) {
holderMC.removeChildAt(0);
trace("now there are:"+holderMC.numChildren); // traces now there are :0
}
myLoader.unload();
// Редактировать - также пытался:
myLoader.unloadAndStop();
myLoader = null;
Есть мысли?