|
|
|||||
Регистрация: Oct 2007
Сообщений: 85
|
Удаление загруженной swf
Столкнулся с такой проблемой. Загружаю одну флешку через лоадер. Хочу сделать так чтобы при загрузке другой,первая удалялась, а не накладывалась поверх. Т.е сделать подмену одной swf другой.
b2_mc.addEventListener(MouseEvent.CLICK,function rollb2(e){ var loadit = new Loader(); removeChild(loadit) addChild(loadit); loadit.load(new URLRequest("yyy.swf")); }) b1_mc.addEventListener(MouseEvent.CLICK,function rollb2(e) { var loadit = new Loader(); removeChild(loadit) addChild(loadit); loadit.load(new URLRequest("xxx.swf")); }) |
|
|||||
Дык кто будет отписываться от слушателей? И не используйте вложенные функции.
Добавлено через 2 минуты А тут вы заново создаете лоадер и удаляете пустой. А, даже не так. Это вообще локальная переменная, никак не сделать то, что вы хотите. Пересмотрите архитектуру кода.
__________________
тут я Последний раз редактировалось КорДум; 15.10.2010 в 23:17. |
|
|||||
Регистрация: Oct 2007
Сообщений: 85
|
а каким образом мне написать тогда архитектуру кода??
|
|
|||||
По-моему, я указал в своем посте на самую главную ошибку - на локальные переменные, которые должны быть глобальными. Я также указал на вложенные функции.
private var loadit:Loader; ... b2_mc.addEventListener(MouseEvent.CLICK, rollb2); ... private function rollb2(e:MouseEvent):void { removeChild(loadit) loadit = new Loader(); loadit.load(new URLRequest("yyy.swf")); //а здесь мы должны дожидаться загрузки, а уже потом добавлять на сцену! addChild(loadit); }
__________________
тут я |
|
|||||
[+1 28.12.10]
[+1 29.12.10] Регистрация: Aug 2006
Сообщений: 107
|
или использовать addChildAt и removeChildAt.
|
|
|||||
Регистрация: Oct 2007
Сообщений: 85
|
Всё во всём разобрался, благодарю
|
Часовой пояс GMT +4, время: 12:22. |
|
« Предыдущая тема | Следующая тема » |
|
|