这是我在iOS 8中用来显示粒子的代码:
func onCollision() {
let explosion = SKEmitterNode(fileNamed: "rocketExplosion")
explosion.position = rocket.position
explosion.zPosition = 100
addChild(explosion)
}
适用于iOS 8但不适用于iOS 9.我已经读过测试版中的粒子发射器存在问题,它们在GM版本中是否仍然相同?此外,我在" Swift 2"之后尝试了这个。教程,但没有运气:
if let explosion = SKEmitterNode(fileNamed: "rocketExplosion") {
explosion.position = rocket.position
explosion.zPosition = 100
addChild(explosion) }
答案 0 :(得分:2)
希望这会对你有所帮助
let explosionFile: String = NSBundle.mainBundle().pathForResource("rocketExplosion", ofType: "sks")!
let explosion = NSKeyedUnarchiver.unarchiveObjectWithFile(explosionFile) as! SKEmitterNode
explosion.position = rocket.position
explosion.zPosition = 100
self.addChild(explosion)
答案 1 :(得分:0)
在使用目标c时我遇到了类似的问题(因此它不是一个快速的2问题)。我发现粒子效果是在我背后渲染的。我尝试将它们设置在不同的Z层上,但它们仍然无法正常工作。
根据我对iOS 9的体验,如果您有背景图像,则必须将其设置为至少 -1 才能使粒子生效。它似乎只影响我的背景图像。它能够在我所有其他精灵上方正确渲染EmitterNodes。