![]() |
убрать объект с экрана?
Добрый день,уважаемые гуру.Столкнулся с такой проблемой,можете подсказать?
Вот пример главного класса(допустим игры) и класса героя: Код AS3:
Код AS3:
Удаляется ли herobullet с экрана ,когда я удаляю hero1 через removeChild?Или мне надо его удалить отдельно?Если да,то как я это должен прописать в классе Main?Спасибо |
Цитата:
Код AS3:
сработает эта: Код AS3:
П.с. вообще никогда не нужно называть классы с маленькой буквы. Это плохой тон. А в данном, конкретном случае еще и переменная hero называется как класс, это не допустимо. Классы всегда именуются с большой буквы, переменные и функции с маленькой. Плюс к тому нужно типизировать переменные, а не писать просто var hero; п.п.с. Для начала конечно можно не париться на счет того, что я напишу дальше, лучше разобраться с тем как вообще правильно именовать объекты, понять что регистр имеет значение, что такое контейнеры и как их используют. Но в дальнейшем лучше избегать передачи ссылок на главный класс куда-либо. Это приводит к большой связанности кода. |
За плохой тон спасибо,буду соблюдать.Пуля не в контейнере.И как нужно типизировать переменную?
|
Цитата:
Цитата:
Код AS3:
|
Спасибо,значит - gamelevel.removeChild(hero1),я удаляю сразу и herobullet?
|
если они оба добавлены в gamelevel, то да. Но удалятся они только с экрана. В памяти они так же будут болтаться и процессорные ресурсы так же будут отжирать, если на них где-то останутся ссылки. Если ссылок нет, никакие слушатели не подписаны, то их при необходимости снесет сборщик мусора
|
hero = null; - это поможет? или надо еще отследить все ссылки и их тоже удалять?
|
hero = null;
занулит только ссылку на объект. Если на него подписаны слушатели, то он не удалится. Если слушателей нет, ни в какие массивы он не добавлен, то это разрешит сборщику мусора его удалить. |
Все огромное и человеческое спасибо!!!
|
| Часовой пояс GMT +4, время: 11:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.