我想知道我的代码有什么问题,它没有正确显示粒子。
这是预期的粒子
实施
physicsWorld.contactDelegate = self
self.scene?.backgroundColor = UIColor.blackColor()
self.scene?.size = CGSize(width: 640, height: 1136)
self.addChild(SKEmitterNode(fileNamed: "MagicParticle")!)
答案 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")!)