SKEmitterNode未显示粒子

时间:2016-03-09 12:18:55

标签: xcode swift skemitternode

我想知道我的代码有什么问题,它没有正确显示粒子。

enter image description here

这是预期的粒子

enter image description here

实施

physicsWorld.contactDelegate = self

    self.scene?.backgroundColor = UIColor.blackColor()

    self.scene?.size = CGSize(width: 640, height: 1136)

    self.addChild(SKEmitterNode(fileNamed: "MagicParticle")!)

2 个答案:

答案 0 :(得分:1)

你应该先尝试安全地解开粒子文件,只是为了确保它不能为零

 if let particle = SKEmitterNode(fileNamed: "MagicParticle") {
    particle.position = ...
    addChild(particle)
 }

奇怪的是它不起作用,看着你的照片,好像你没有打字错误。 您是否更改了粒子效果中的默认spark.png? 尝试清理项目或者删除效果,如果仍然无法再次创建效果

作为旁注,您可以删除2个单词

 scene?...

你已经在SKScene中,因此自我就是场景,因此你可以说

 self.backgroundColor = ...
 self.size = ...

或更好

 backgroundColor = ...
 size = ...

作为swift中一般良好的编码实践,尝试仅在编译器强制使用时使用“self”。所以说

addChild(...)

而不是

self.addChild(...)

答案 1 :(得分:0)

我认为你还应该包括文件的扩展名,就像这样。

self.addChild(SKEmitterNode(fileNamed: "MagicParticle.sks")!)