|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Можно просто удалять конкретную пулю
private var _bullets:Vector.<Bullet>; private function removeBullet(event:Event):void { var bullet:Bullet = event.target as Bullet; _bullets.splice(_bullets.indexOf(bullet), 1); bullet.destroy(); } отвлёкся, долго писал |
|
|||||
А зачем удалять пулю из массива? Ставим ей скорость в [0, 0] и удаляем со сцены. Когда нужно стрельнуть - ищем пулю со скоростью [0, 0], добавляем ее на сцену ставим ей нужную скорость. Буфер пулек получается =)
__________________
...вселенская грусть |
|
|||||
@КорДум
Смотря как обустроить этот самый поиск =) Вряд ли затраты на создание новых объектов будут чрезмерно велики. Хотя, с другой стороны - зачем плодить новые объекты там, где это вовсе не требуется?
__________________
...вселенская грусть |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Пул пуль нужно делать, а не рыскать по всему массиву в поиске ненужной
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Пул объектов (pool)
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
Регистрация: Mar 2007
Сообщений: 545
|
КорДум
Пул (что-то типа кэша) - массив объектов. Когда нужна пуля - достаем ее из массива, обнуляем ее состояние и работаем с ней. Когда надо удалить - то просто убираем со сцены и заносим в пул. Зависит от ситуации, но создание объектов обычно достаточно ресурсоемкая, по сравнениею с другими, операция. Минусы - возможно больше памяти надо, нагрузка при начальной инициализации. Плюсы - не задействуется сборщик мусора, да и нагрузка уменьшается. |
Часовой пояс GMT +4, время: 11:01. |
|
« Предыдущая тема | Следующая тема » |
|
|