2014-11-01 41 views
0

我遇到了SKEmitter的问题。 RainParticle.sks是文件,这里是代码:iOS7设备上的SKEmitter错误

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:]: unrecognized selector sent to class 0x38c0454c 2014-11-01 21:31:33.232 AfraidGame[1541:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[SKEmitterNode nodeWithFileNamed:]: unrecognized selector sent to class 0x38c0454c'

nodeWithFileNamed - unrecognized selector?

任何人都可以帮忙吗?

回答

4

具体init(fileNamed:)其唯一Available in iOS 8.0 and later.

+0

好吧,这很好。那么,我可以用任何方式将它用目标c弹出到我的xcode项目中,如果我没有使用它的经验就不难了?就像一个将我的发射器放在场景中的文件,如果这个场景是一个快速文件? – Betkowski 2014-11-01 23:01:08

+0

但是,等待,所有使用swift和spritekit编写的东西都可以在ios7中使用。有什么办法可以工作? – Betkowski 2014-11-01 23:02:13

+0

是的,即时通讯试图找到引用到精灵套件和迅速支持,但没有找到它,所以即时通讯编辑响应... – elkraneo 2014-11-01 23:07:25

2

试试这个:-)逼着我用斯威夫特。

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)