如何在swift中正确从父上删除skspriteNode的子类(要从屏幕上的数组中删除,在屏幕上删除



我已经创建了一个子类:

class EnemySprite: SKSpriteNode

并使用此代码在我的游戏场景中添加了一个敌人:

let enemy = EnemySprite(imageNamed:"enemy.png")
self.addChild(enemy)

现在,当我向敌人拍摄时,我有代码:

enemy.removeFromParent()

屏幕上没有看到敌人,但_enemiesSpritesArray.count保持不变。另外,当我向敌人所在的地区开枪时,子弹停在那儿,好像雪橇仍在同一地点。我尝试添加:

override func removeFromParent() {
    super.removeFromParent()
}

但仍然相同。

如何完全删除精灵?

您也应该从数组中删除实例。

if let index = enemiesSpritesArray.index(of: enemy) {
    enemiesSpritesArray.remove(at: index)
}

最新更新