【问题标题】:SKEmitterNode iOS 9 GM problemsSKEmitterNode iOS 9 GM 问题
【发布时间】:2015-12-19 19:11:19
【问题描述】:

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

【问题讨论】:

标签: sprite-kit ios9 xcode7


【解决方案1】:

希望对你有帮助

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)

【讨论】:

  • 谢谢,我已经把代码改成了这个,但是没有用。我想知道他们是否会解决 iOS 9 的问题?
  • @kellclx 我认为这可能是 iOS 9 的问题......我真的希望他们能尽快解决。
【解决方案2】:

我在使用objective c 时遇到了类似的问题(所以这不是swift 2 唯一的问题)。我发现粒子效果正在我的背景后面渲染。我尝试将它们设置在不同的 Z 层上,但它们仍然不起作用。

根据我使用 iOS 9 的经验,如果您有背景图片,则必须将其设置为至少 -1 才能使粒子正常工作。它似乎只影响我的背景图像。它能够在我的所有其他精灵之上正确地渲染 EmitterNodes。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 2015-12-21
    • 2015-12-12
    • 2015-12-14
    • 2015-12-28
    相关资源
    最近更新 更多