我创建了一个子类:
class EnemySprite: SKSpriteNode
并使用此代码在我的游戏场景中添加了一个敌人:
let enemy = EnemySprite(imageNamed:"enemy.png")
self.addChild(enemy)
现在,当我向敌人射击时,我有代码:
enemy.removeFromParent()
屏幕上看不到敌人,但_enemiesSpritesArray.count
保持不变。此外,当我向敌人射击区域时,子弹停在那里,好像精灵仍然在同一个地方。
我试图添加:
override func removeFromParent() {
super.removeFromParent()
}
但仍然相同。
如何完全删除精灵?
答案 0 :(得分:2)
您也应该从数组中删除实例。
if let index = enemiesSpritesArray.index(of: enemy) {
enemiesSpritesArray.remove(at: index)
}