У меня есть флеш-игра, в которой я строю, где у меня есть массив, отслеживающий кучу бонусов на экране. Когда игрок идет на захват, он должен исчезать с экрана (что легко), но его также нужно удалить из массива, чтобы циклы обнаружения столкновений не стали действительно громоздкими. Я попытался использовать сплайсинг, но я продолжаю получать нулевые ссылочные ошибки, вот соответствующий код.Как эффективно собирать мусор в AS3
public function collect():void {
try {
Main.powerUps.splice(index, 1);
stage.removeChild(this);
}catch (e:Error) {
trace("Error in splice");
}
}
}
Затем, когда я создаю свой объект PowerUp я прохожу это параметр, который получает присваивается индекс, который является длина массива мощности ИБП в то время. Может ли кто-нибудь увидеть, что не так с этим кодом или (желательно) предоставить более элегантное решение? Заранее благодарю за любую помощь.