Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   удаление внешнего содержимого (http://www.flasher.ru/forum/showthread.php?t=178760)

nayanov 28.04.2012 13:47

удаление внешнего содержимого
 
создал проект1, в нем анимация и одна кнопка для загрузки внешнего swf, на внешнем swf 6 кнопок запуска различных внешних swf.
Реализовывал запуск внешних файлов при помощи URLRequest.
Как сделать чтобы при следующем запуске swf, предыдущий выгружался из памяти.
Понятно, что removeChild();
Но каким образом не могу понять.

Wolsh 28.04.2012 14:00

Цитата:

Как сделать чтобы при следующем запуске swf, предыдущий выгружался из памяти.
Понятно, что removeChild();
?
Какое отношение removeChild() имеет к памяти? Это всего лишь удаление из списка отображения.
Loader#unload()

nayanov 28.04.2012 14:13

к памяти никакого.

Добавлено через 39 минут
Функции 2-х кнопок запуска внешнего swf, как мне выгружать из памяти первый при запуске второго??? Подскажите пожалуйста!!

Код AS3:

var uiLoader:Loader = new Loader ();
bt_buksa.addEventListener (MouseEvent.CLICK, buksa);
function buksa (myevent:MouseEvent):void {
        var buksaURL:URLRequest = new URLRequest ("rezim/Info.swf");
        uiLoader.load(buksaURL);
        addChild(buksaLoader);
}
bt_val.addEventListener (MouseEvent.CLICK, val);
function val(myevent:MouseEvent):void {
        var valURL:URLRequest = new URLRequest ("val/Info.swf");
        uiLoader.load(valURL);
        addChild(uiLoader);
}


ramshteks 28.04.2012 14:59

сохраняете ссылку загруженного клипа. При загрузке второго делаете unload()

nayanov 28.04.2012 15:06

Цитата:

Сообщение от ramshteks (Сообщение 1077398)
сохраняете ссылку загруженного клипа. При загрузке второго делаете unload()

Спасибо!!!! Только я начинающий в этом деле и разбираюсь поэтапно, по мере появления проблем.
Как программно это написать?Скажите пожалуйста, если не трудно!

ramshteks 28.04.2012 15:24

Код AS3:

var uiLoader:Loader = new Loader ();
bt_buksa.addEventListener (MouseEvent.CLICK, buksa);
function buksa (myevent:MouseEvent):void {
        var buksaURL:URLRequest = new URLRequest ("rezim/Info.swf");
        uiLoader.load(buksaURL);
        addChild(buksaLoader);
}
bt_val.addEventListener (MouseEvent.CLICK, val);
function val(myevent:MouseEvent):void {
//--inject
uiLoader.unload();
//--------
        var valURL:URLRequest = new URLRequest ("val/Info.swf");
        uiLoader.load(valURL);
        addChild(uiLoader);
}

самый простой способ исправить ваш код, чтобы удовлетворять требованиям

nayanov 28.04.2012 15:31

а у меня таких кнопок, 6 мне для каждой подобно прописывать????

ramshteks 28.04.2012 15:38

Цитата:

Сообщение от nayanov (Сообщение 1077405)
а у меня таких кнопок, 6 мне для каждой подобно прописывать????

ну да. Ну или можете автоматизировать процесс, дело ваше.

nayanov 28.04.2012 15:42

Изменил код, по вашему совету и ноль результата, все равно при переключении кнопок (загрузки внешних swf файлов) память забивается!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ramshteks 28.04.2012 15:52

Цитата:

Сообщение от nayanov (Сообщение 1077408)
Изменил код, по вашему совету и ноль результата, все равно при переключении кнопок (загрузки внешних swf файлов) память забивается!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

удаление из памяти совершенно не факт, что произойдет сразу.


Часовой пояс GMT +4, время: 19:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.