有没有办法只运行一个 SKemitter 一次?当它与另一个节点碰撞时,我发生了爆炸。问题是爆炸发生了多次,因为它击中了多次。我将如何只运行一次?
最佳答案
SKEmitterNode 可以在发射 numParticlesToEmit
后停止发射,如果设置了该属性:https://developer.apple.com/documentation/spritekit/skemitternode/1398043-numparticlestoemit
我相信大多数“爆炸”类型的发射器应该已经设置了该属性。但是我怀疑您的问题是每次命中时您都在添加一个新的 SKEmitterNode。
您可以使用 bool 值 var wasHit = false
来跟踪命中状态。
然后当命中发生时,在添加发射器之前检查wasHit
,然后将wasHit
设置为true。
关于swift - 运行 SKemitter 一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51663976/