Форум 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=149399)

Universe 24.01.2011 14:56

Правильное возвращение объектов на сцену
 
Есть группа объектов в контейнере. При нажатии на один из объектов контейнер с объектами нужно удалять со сцены. Когда объекты удалились на сцене должен появляться другой объект, при щелчке на который уже он должен удаляться, а старый контейнер с объектами возвращаться на своё первоначальное место.
Вот я и думаю как это правильнее всего сделать? Использовать removeChild() ля контейнера, а потом вызывать ту же функцию, которая создавала первый контейнер и все объекты в нём или достаточно просто завести метод в котором добавляется/удаляется контейнер? Не приведет ли новое создание всех объектов к утечке памяти?

Zebestov 24.01.2011 15:10

Зачем создавать объект, который недавно просто удалили со сцены? В нужное время просто добавь его назад — ссылка ж есть... ?

bav 24.01.2011 15:17

Или использовать свойство visible.
Код AS3:

firstContainer.visible = true;
secondContainer.visible = false;
// далее в обработчике клика
firstContainer.visible = !firstContainer.visible;
secondContainer.visible = !secondContainer.visible;


Universe 24.01.2011 15:24

дело в том, что если просто убирать visible всё тормозит. Надо именно удалить его со сцены. А что вы понимаете под ссылкой? Содержимое переменной в которой он находится? А не будет риска что GC его удалит когда он будет не на сцене? Или для тог чтобы он его удалил мне надо присвоить переменной в которой он храниться null?

Добавлено через 10 минут
попробовал удалять/добавлять контейнер - удаляет нормально, при попытке добавить пишет что объект null!

Добавлено через 20 минут
но особенность в том, что если добавляю кнопкой, которая находится внутри мувика, в котором писалась функция - всё ок, а если из какогото другого класса - пишет null! :\

Zebestov 24.01.2011 15:47

Ну очевидно ты неверно указываешь на свой объект, потому и null. Нужен код.

Universe 24.01.2011 15:49

всё, разобрался с этим нулом))) Провтык вышел, удалял объект из которого обращался к руту!))


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

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