swift - 运行 SKemitter 一次?

标签 swift sknode skemitternode

有没有办法只运行一个 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/

相关文章:

ios - Sprite Kit 粒子发射器形状

swift - 将发射器节点添加到 sks 文件并使用它 - XCode 6.0 + swift

swift - Swift登录成功后如何最好地管理当前登录用户?

ios - 为什么有时会出现 'The connection was lost' 错误?

ios - 我可以在运行时创建 SpriteKit 纹理图集吗

ios - SpriteKit : detect complete node overlap

ios - SpriteKit : how to make SKEmitterNode particles twinkle?

swift - 尝试从核心数据对象设置 UITextField 文本时在 prepareForSegue 中查找 nil

ios - 在 Swift 类或结构中声明为静态的变量会发生什么

ios - swift SKConstraint