我正在创建一个小行星游戏,在我的主要课程中,我在处理飞船发射的子弹时遇到了一些麻烦。
所有子弹都属于“子弹”类,并存储在主类中名为“子弹”的数组中。当子弹退出屏幕时,主类中的 removeBullet(bulletID) 被调用。
private function removeBullet(id:int)
{
removeChild(bullets[id]);
bullets.splice(id);
}
在我的 Bullet 类中,我有一个跟踪“stillHere”的 enterFrame 侦听器。因此,一旦使用 addChild 将项目符号添加到主阶段,“stillHere”就会开始在我的输出面板中弹出。
我的问题是,即使我调用了 removeBullet,“stillHere”仍然在输出面板中弹出,这告诉我我试图删除的对象仍然停留在内存中的某个地方。
我该怎么做才能完全摆脱它?