PDA

Просмотр полной версии : как легче удалить загруженный объект?


viktorami
08.06.2012, 19:05
если исходя из событий в программе загружаются различные экземпляры одного и того же объекта с разными параметрами. чтобы они не накладывались друг на друга предыдущие экземпляры хотелось бы удалить.
Сам планирую - поиск объекта с помощью функции getCHildByName и удаление его.
Но где то слышал что эта функция достаточно медленная. Есть ли более рациональные способы?

КорДум
08.06.2012, 19:09
А не проще ли сделать addChild у этого объекта, чтобы не удалять его, а просто вывести на передний план?

Добавлено через 2 минуты
Ну и как так — Вы не имеете ссылок на объект? Сохраняйте ссылки в массив.

Котяра
08.06.2012, 19:12
Но где то слышал что эта функция достаточно медленная
Спрашивайте там где слышали.

viktorami
08.06.2012, 19:24
а представляете сколько копий старых объектов будут хранится? и все это ест память и ресурсы.

КорДум
08.06.2012, 19:40
Ну так не добавляйте столько.

viktorami
08.06.2012, 19:51
ладно. поясню:
есть галерея из n-ного количества картинок. по щелчку на маленьком экземпляре вверху появляется большой экземпляр.
понимаете что возникает пробелма с удалением старого большого экземпляра?

КорДум
08.06.2012, 19:54
Нет, не понимаю. Мы ссылку на него имеем, убиваем по ссылке.

viktorami
08.06.2012, 20:02
данная функция вызывается каждый раз при изменений изображения
bp-MovieClip в который считывается все новая картинка.
в данном коде они будут дублироватся или заменятся?

function changeImageById(event:eventer):void
{
var id:String=event.dta;
id=id.substr(6,id.length-6);

vReq.url = "http://serv3//fotos//buu1"+id+".JPG"+ "?" + Math.random() ;
imageLoader.load(vReq);
imageLoader.name="bigImage";
bp.addChild(imageLoader);


}

Добавлено через 10 минут
мне бы хотелось каждый раз удалять не весь клип bp а именно картинку.
но можно ли сделать что то вроде imageLoader.delete?

Добавлено через 20 минут
попробовал - почему то при многократном исполнении эттого кода не происходит накладки картинок. но ведь должно! почему же?

Добавлено через 21 минуту
вот ведь жесть. оно подлое, видит объект ImageLoader как неизменный и если грузится новая картинка она замещатся прямо в клипе. тему можно закрывать. всем спасибо.

ChuwY
08.06.2012, 21:09
Loader:unload(); (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#unload())

viktorami
08.06.2012, 21:24
о! приму к сведению.