如何在Swift中正确地从父节点中删除SKSpriteNode的子类(要从数组中移除,屏幕上的空格......)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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)
}
以上是关于如何在Swift中正确地从父节点中删除SKSpriteNode的子类(要从数组中移除,屏幕上的空格......)?的主要内容,如果未能解决你的问题,请参考以下文章