SKEmitterNode iOS 9 GM问题

时间:2015-09-22 17:23:43

标签: sprite-kit ios9 xcode7

这是我在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) }

2 个答案:

答案 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。