【问题标题】:SKEmitterNode not showing particleSKEmitterNode 不显示粒子
【发布时间】:2016-03-09 12:18:55
【问题描述】:
我想知道我的代码有什么问题,它没有正确显示粒子。
这是预期的粒子
实现
physicsWorld.contactDelegate = self
self.scene?.backgroundColor = UIColor.blackColor()
self.scene?.size = CGSize(width: 640, height: 1136)
self.addChild(SKEmitterNode(fileNamed: "MagicParticle")!)
【问题讨论】:
标签:
xcode
swift
skemitternode
【解决方案1】:
您应该先尝试安全地解包粒子文件,以确保它不能为 nil
if let particle = SKEmitterNode(fileNamed: "MagicParticle") {
particle.position = ...
addChild(particle)
}
奇怪的是它不起作用,看着你的照片好像你没有错字。
粒子效果里默认的 spark.png 改了吗?
尝试清理您的项目,或者如果仍然无法正常工作,请删除效果并重新创建它
作为旁注,您可以删除 2 个单词
scene?...
你已经在一个 SKScene 中,所以 self 就是这个场景,因此你可以说
self.backgroundColor = ...
self.size = ...
或更好
backgroundColor = ...
size = ...
作为 swift 中的一般良好编码实践,请尝试仅在编译器也强制您时使用“self”。所以说
addChild(...)
而不是
self.addChild(...)
【解决方案2】:
我认为你应该也包括文件的扩展名,像这样。
self.addChild(SKEmitterNode(fileNamed: "MagicParticle.sks")!)