![]() |
kutuzov, тоже вариант, можно даже скомбинировать это с вектором. Даже нужно. Пожалуй, самый хороший вариант.
|
Можно просто удалять конкретную пулю
Код AS3:
отвлёкся, долго писал :) |
Да-да, я так и сделал (:
|
А зачем удалять пулю из массива? Ставим ей скорость в [0, 0] и удаляем со сцены. Когда нужно стрельнуть - ищем пулю со скоростью [0, 0], добавляем ее на сцену ставим ей нужную скорость. Буфер пулек получается =)
|
gloomyBrain, а это не будет лишним действием? Мне кажется, что будет менее затратно удалять-добавлять, нежели прогоняться по всему вектору в поиске. Ну, не по всему, по части, но все же. Хотя этот вариант довольно-таки интересен.
|
@КорДум
Смотря как обустроить этот самый поиск =) Вряд ли затраты на создание новых объектов будут чрезмерно велики. Хотя, с другой стороны - зачем плодить новые объекты там, где это вовсе не требуется? |
Пул пуль нужно делать, а не рыскать по всему массиву в поиске ненужной
|
gloomyBrain, в общем, довольно хорошая идея, но, все же стандартные методы splice и indexOf как-то поэлегантнее выглядят. Хотя и повергают в сомнения, а так ли хороши они. Ибо за Адобой довольно много косяков, так сказать.
i.o., чего делать? |
Пул объектов (pool)
|
КорДум
Пул (что-то типа кэша) - массив объектов. Когда нужна пуля - достаем ее из массива, обнуляем ее состояние и работаем с ней. Когда надо удалить - то просто убираем со сцены и заносим в пул. Зависит от ситуации, но создание объектов обычно достаточно ресурсоемкая, по сравнениею с другими, операция. Минусы - возможно больше памяти надо, нагрузка при начальной инициализации. Плюсы - не задействуется сборщик мусора, да и нагрузка уменьшается. |
| Часовой пояс GMT +4, время: 06:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.