Мы пара ребят, играющих в игры. Данные игровых объектов хранятся во вложенных массивах. Массив верхнего уровня содержит массивы, которые соответствуют одному объекту каждый. Под объектом я подразумеваю параметры игровых объектов, хранящиеся в массиве, и объект скворца, упомянутый в массиве.AS3, утилизация объектов скворца
Эти суб-массивы имеют ссылку на скрининг-мувиклип или скворец-спрайт и около 15 других переменных для этого объекта. Поэтому переменные не сохраняются в самом файле movieclip/sprite по разным причинам. Возможность Blitting является одним из них.
Вопрос в том, как организовать это наилучшим образом и в конечном итоге реализовать утилизацию скворцов, чтобы получить меньше проблем с сборкой мусора. У меня есть три предложения, но я знаю, что что-то еще может быть лучше.
1) один «погост» контейнер для каждого класса объекта: один для астероидов, один для playershots, один для .... Всякий раз, когда объект уничтожается, соответствующий объект будет идти на правильное кладбище. Всякий раз, когда сущность того же класса должна быть создана, затем повторно используйте один из соответствующего контейнера, если он содержит какой-либо.
2) Один большой контейнер для всех уничтоженных мувиклипов и спрайтов. Всякий раз, когда будет создан спрайт или мувиклип, повторно используйте объект из этого контейнера, если он содержит какой-либо. Также должна быть установлена правильная анимация. Я не знаю, требует ли это много процессора или вообще возможно.
3) Пусть сбор мусора позаботится об уничтоженных мувиклипах и спрайтах. Не перерабатывайте их.
Я работаю с flashpunk. Итак, я попытался использовать этот recyling материал, чтобы улучшить производительность игры. Но игра стала настолько сложной, мне также нужна была такая система, как ваша, я имею в виду, ссылаясь на материал сущности на массивы и тому подобное ... Но передислокация стала настоящей проблемой, я пробовал много вещей чтобы решить эту проблему, но каждое решение создавало еще одну проблему! Итак, я отказался от использования recyling ... –