iOS Swift SpriteKit实现了一个“精灵”;“爆炸”;影响

iOS Swift SpriteKit实现了一个“精灵”;“爆炸”;影响,ios,swift,sprite,Ios,Swift,Sprite,在我的游戏中,我希望当发生碰撞时,指定的精灵将经历“爆炸”或“玻璃破碎”效果,在这种效果中,精灵被分成随机的碎片,然后以随机的速率、速度和角度移动。我可以想象,像这样的事情可能需要使用粒子或至少是纹理图谱 我在这方面发现了一点,但问题/解释是针对Objective-C的。我对iOS开发相当陌生,只使用过swift,所以我不能真正地从一种语言翻译到另一种语言。谢谢。我建议您为此尝试使用SpriteKit发射器类。将新的SpriteKit粒子效果文件添加到项目中,并在其中配置爆炸类型。您不需要任何代

在我的游戏中,我希望当发生碰撞时,指定的精灵将经历“爆炸”或“玻璃破碎”效果,在这种效果中,精灵被分成随机的碎片,然后以随机的速率、速度和角度移动。我可以想象,像这样的事情可能需要使用粒子或至少是纹理图谱


我在这方面发现了一点,但问题/解释是针对Objective-C的。我对iOS开发相当陌生,只使用过swift,所以我不能真正地从一种语言翻译到另一种语言。谢谢。

我建议您为此尝试使用SpriteKit发射器类。将新的SpriteKit粒子效果文件添加到项目中,并在其中配置爆炸类型。您不需要任何代码来配置它,因为苹果非常方便地为我们提供了一个编辑器窗口来轻松更改值

一旦您对发射器的外观感到满意,就可以打开游戏场景(假设在该场景中检测到碰撞),然后键入:

let explosionEmitterNode = SKEmitterNode(fileNamed:"the file name")
sprite.addChild(explosionEmitterNode)
在这里,sprite是要向其添加发射器效果的实际节点。或者可以直接将其添加到场景中,并将其位置设置为:

let explosionEmitterNode = SKEmitterNode(fileNamed:"the file name")
explosionEmitterNode.position = CGPointMake(200,300)
addChild(explosionEmitterNode)