如何添加一个 SKEmitterNode 作为 SKSpriteNode 的子节点然后删除它?
当两个物体发生碰撞时,我在 GameScene 的
didBegin
函数中调用以下代码:
func markStake(theUStake: SKSpriteNode) {
let particleName = "smokeParticle.sks"
if let emitter = SKEmitterNode(fileNamed: particleName) {
emitter.position = theUStake.position
theUStake.addChild(emitter)
}
} // markStake
稍后,当我重新开始游戏时,我会在我的 GameViewController 中调用以下内容:
func initAllStakes() {
for theUStake in UStakes {
theUStake.removeAllChildren()
}
} // initAllStakes
markStake
适用于指定的碰撞。
但是在我的
initAllStakes
内调用func newGame()
不会消除粒子.sks
.
请注意,UStakes 在我的
AppDelegate
中是全局的:
var UStakes: [SKSpriteNode] = [myU1, myU2, myU3, myU4, myU5]
以及其他地方,例如:
myU2 = SKSpriteNode(imageNamed: U2Img)
任何想法将不胜感激。