【问题标题】:SKEmitter Error on iOS7 DeviceiOS7 设备上的 SKEmitter 错误
【发布时间】:2014-11-01 21:33:23
【问题描述】:

我在使用 SKEmitter 时遇到了问题。 RainParticle.sks 是文件,这里是代码:

let rainParticle = SKEmitterNode(fileNamed: "RainParticle")

...

    rainParticle.position = CGPoint(x: size.width / 2, y: size.height + 10)
    addChild(rainParticle)

它可以在模拟器上运行,但是当我在 Iphone 4s 上运行它时,它会抛出这个错误:

2014-11-01 21:31:33.227 AfraidGame[1541:60b] +[SKEmitterNode nodeWithFileNamed:]: 无法识别的选择器发送到类 0x38c0454c 2014-11-01 21:31:33.232 AfraidGame[1541:60b] *** 终止应用程序到期 未捕获的异常“NSInvalidArgumentException”,原因: '+[SKEmitterNode nodeWithFileNamed:]: 无法识别的选择器发送到 类 0x38c0454c'

nodeWithFileNamed - 无法识别的选择器?

谁能帮忙?

【问题讨论】:

    标签: ios swift sprite-kit


    【解决方案1】:

    特别是init(fileNamed:) 它唯一的Available in iOS 8.0 and later.

    【讨论】:

    • 好的,很高兴知道这一点。那么,如果我没有使用它的经验,我可以用任何方式将它放入我的带有目标 c 的 xcode 项目中吗?就像一个将我的发射器放在场景中的文件一样,如果该场景是一个 swift 文件?
    • 但是等等,用 swift 和 spritekit 编写的其他所有东西都可以在 ios7 中运行。有什么办法可以做到吗?
    • 是的,我试图找到对精灵套件和快速支持的引用,但没有找到,所以我正在编辑响应...
    • 男孩,这给我带来了很多错误。你知道我可以使用的示例代码,某种来源吗?
    • 删除了之前的评论,这里是 ObjC 中的 gist。它是在场景中添加粒子发射器的示例方法。
    【解决方案2】:

    试试这个 :-) 使用 Swift 为我工作。

        let sksPath = NSBundle.mainBundle().pathForResource("RainParticle", ofType: "sks")
        let rainParticle: SKEmitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(sksPath!) as SKEmitterNode
       rainParticle.position = CGPoint(x: size.width / 2, y: size.height + 10)
        addChild(rainParticle)
    

    【讨论】:

      猜你喜欢
      • 2015-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多