[已解决]新手--求解--不知道哪里错了

如图,这个位于update 中调用的方法,会每帧都调用,用来判断敌机和自己的飞机是否相撞,如果相撞扣除相应的生命值,直到为0的时候,gameover,
但是现在的问题是,
没有生命值的时候,程序会走到else中 添加GameoverLayer 和暂停游戏。 但是偶尔发现碰撞的方法还会被调用到,即 collisionAirPlane 在结束之后 也会被再次调用,所以就对这个问题非常疑惑,希望高中指点下问题的所在。:6:

else中最后添加一个break;
而且,最好增加一个状态控制,用于保存游戏状态,如果状态变为GAME_OVER ,就不再调用collisionAirPlane方法

嗯,好的,不过像 js这种数组循环中删除数据,有没有什么好办法,因为为了担心索引顺序出现问题,我一般数组执行删除之后,就把整个for循环 return或者break掉了,我感觉效率不高啊

我也不知道有啥好办法
我是在循环中把要删除的保存到另一个数组里面 循环结束后 再起一个循环 遍历要删除的元素列表 在原数组中删除之

OK 谢谢分享了