我试图在拍摄完对象之后添加爆炸,我使用这个代码来创建方法。
func addExplosion (position : CGPoint) -> CGPoint
{
let explosionPath : NSString = NSBundle.mainBundle().pathForResource("MyParticle", ofType: "sks")!
let explosion : SKEmitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(explosionPath)
explosion.position = position;
self.addChild(explosion)
let removeExplosion : SKAction = SKAction.sequence([SKAction.waitForDuration(1.5) , SKAction.removeFromParent()]);
explosion.runAction(removeExplosion);
}但我不同意
let explosion : SKEmitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(explosionPath)Xcode给出了修复的通知--通过在as String之后添加explosionPath,使其变得像这个explosionPath as String,但是在那之后,它又产生了另一个错误。
'AnyObject?' is not convertible to 'SKEmitterNode'我想不出什么问题,有什么帮助吗?
发布于 2015-08-15 19:51:08
unarchiveObjectWithFile返回一个AnyObject?。变化
let explosion : SKEmitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(explosionPath)至
let explosion = NSKeyedUnarchiver.unarchiveObjectWithFile(explosionPath) as! SKEmitterNode这将强制转换为SKEmitterNode。
https://stackoverflow.com/questions/32028669
复制相似问题