2010-12-14 4 views
1

Я создаю двойные игры Quiz с 3 swf-файлами (main.swf, A.swf, B.swf), когда я загружаю из Main.swf в другой пример swf в (B.swf) и перезагружаюсь обратно в Main.swf опять же, он отлично работает без эррос ... но когда этот процесс продолжает цикл, его, похоже, рассылают на использование памяти процессора ... какую кодировку я должен использовать для ее решения? (** Я думаю, потому что предыдущая память файла swf не полностью удаляется при вводе еще одного swf, новый swf просто заменяется сверху) (Я использовал .unload(), removeChild(), stop() и так кажется, не решает эта проблема..и сделал попытку изо всех сил решить, но не удалось) Я думаю, что для этого нужно использовать некоторые коды, я не знаю, что еще может дать мне небольшие решения?Как удалить предыдущий swf при вводе нового swf (AS3) ......?

вашей доброта будет очень ценит :) Спасибо

ответ

1

Вам не нужно перезагружать каждый SWF в цикле! Вместо этого назначьте переменную загруженному SWF и используйте эту переменную для взаимодействия с swf.

private var swfA:MovieClip; 

    private function onLoadComplete(event:Event):void 
    { 
     //if you've loaded A.swf 
     swfA = event.currentTarget.content; 
    } 

С этого момента, вы можете:

//hide the swf 
    swfA.visible = false; 

    //remove it from stage 
    removeChild(swfA); 

И если вы соединили его к своему собственному классу, можно даже назвать методы или установленные свойства

//for instance... 
    swfA.answers = [ answer1 , answer2 .... , answern]; 
    swfA.showResult();  
+0

Спасибо очень много :) – Jici

Смежные вопросы