Выгрузить дочерний SWF на последний кадр дочернего SWF - PullRequest
0 голосов
/ 07 ноября 2010

Используя AS3, в моем коде есть кнопка для остановки и удаления SWF-файла, но я хотел бы иметь дополнительно, чтобы выгружать дочерний SWF-файл при автоматическом воспроизведении последнего кадра - не с помощью кнопки.

Вот мой код на главной временной шкале:

var loader:Loader;
var closer:close;

norton_btn.addEventListener(MouseEvent.CLICK, NortonDemo);
function NortonDemo(e:MouseEvent):void 
{
 var req:URLRequest = new URLRequest("norton.swf");
 loader = new Loader();
 loader.load(req);
 container_mc.addChild(loader);
 closer = new close();
 closer.x = 415;
 closer.y = -294;
 addChild(closer);
 closer.addEventListener(MouseEvent.CLICK, closeNortonDemo);

}

function closeNortonDemo(e:MouseEvent):void 
{

 closer.removeEventListener(MouseEvent.CLICK, closeNortonDemo);
 removeChild(closer);
 container_mc.removeChild(loader);
 loader.unloadAndStop();

}

/////////////////////////////

Теперь, что мне нужно добавить или изменить к этому коду и добавить к коду в последнем кадре NortonDemo, чтобы выполнить то, что я хочу сделать?

Спасибо!

1 Ответ

0 голосов
/ 07 ноября 2010

вам нужно удалить загруженный SWF, когда он проигрывает последний кадр?
я бы сделал это как yhis:

loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
addChild(loader);
loader.load(new URLRequest("norton.swf"));

private function onInit(e:Event):void {
   (loader.getChildAt(0) as MovieClip).addEventListener(Event.ENTER_FRAME, onFrame);
}

private function onFrame(e:Event):void {
    if((loader.getChildAt(0) as MovieClip).totalFrames == (loader.getChildAt(0) as MovieClip).currentFrame){
        (loader.getChildAt(0) as MovieClip).removeEventListener(Event.ENTER_FRAME, onFrame);//the only thing that might cause a problem imho
         loader.removeChildAt(0);
         loader.unload();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...