我有一个我正在构建的 Flash 游戏,其中我有一个数组来跟踪屏幕上的一堆电源。当玩家去抓一个时,它需要从屏幕上消失(这很容易),但它也需要从阵列中移除,这样碰撞检测循环就不会变得非常麻烦。我尝试使用拼接,但我不断收到空引用错误,这是相关代码。
public function collect():void {
try {
Main.powerUps.splice(index, 1);
stage.removeChild(this);
}catch (e:Error) {
trace("Error in splice");
}
}
}
然后,当我创建我的 PowerUp 对象时,我将一个参数传递给它,该参数被分配给 index,该参数是当时 Power Ups 数组的长度。谁能看到这段代码有什么问题或(最好)提供更优雅的解决方案?提前感谢您的帮助。