![]() |
полностью не удаляется спрайт
В игре героя атакует враг, когда у героя жизней <= 0, нужно его убить и удалить..
Код AS3:
|
То что Вы удалили объект со сцены не означает что Вы удалили объект вообще. Он по прежнему существует, за исключением того что не отображается на сцене.
|
А что можно сделатЬ?
|
Нужно смотреть как у Вас организованна логика, как создается объект, где прописывается ссылка на него и соответсвено с removeChild удалять объект от туда где он сохранён.
|
ну я его так добавляю
Код AS3:
Добавлено через 15 минут Я поставил утилитку для наблюдения за ресурсами памяти, и вот при удалении память освобождается, но враг все равно атакует |
Это абсолютно ожидаемое поведение. После удаления спрайта удалите его из этого массива
InGame.enemies |
А почему так? это ж вроде как одна ссылка на один экземпляр
|
Потому что выполнив addChild или addChildAt вы не передаете объект целиком. Вы всего лишь говорите плееру что этот объект следует отображать.
Добавлено через 16 минут соответственно когда Вы используете removeChild / removeChildAt вы не удаляете объект, а просто сообщаете что нужно удалить этот объект с списка отображаемых плеером объектов. |
Цитата:
|
Цитата:
Цитата:
Самый разумный способ - это в классе Hero сделать метод, в котором все, что он насоздавал внутри, уничтожается, и зануляются все ссылки на внешние объекты (если таковые имеются) И дальше уничтожение свелось бы к такой логике: Код AS3:
|
| Часовой пояс GMT +4, время: 12:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.