ios - Swift SpriteKit '($T15) -> $T16' 与 'SKEmitterNode' 不同

标签 ios swift sprite-kit

我是 Swift 新手

我得到这个错误:'($T15) -> $T16' is not identical to 'SKEmitterNode'

来自这段代码:

func didBeginContact(contact: SKPhysicsContact) {
    let untypedEmitter : AnyObject = NSKeyedUnarchiver.unarchiveObjectWithFile(NSBundle.mainBundle().pathForResource("Explosion", ofType: "sks")!)!
    let emitter:SKEmitterNode = untypedEmitter as SKEmitterNode
    emitter.position = Player.position

    self.addChild(emitter)
    emitter(runAction(SKAction.sequence([SKAction.waitForDuration(0.1), SKAction.runBlock(emitter.particleBirthRate = 0)])))
}

错误在最后一行

屏幕截图:image of error in XCode

我正在运行 XCode 6.2 版

谢谢

最佳答案

您在调用节点上的 runAction 方法时使用了错误的语法。应该是

emitter.runAction(SKAction.sequence([SKAction.waitForDuration(0.1), SKAction.runBlock({emitter.particleBirthRate = 0})]))

请注意从 emitter(runAction( ... ))emitter.runAction( ... ) 的变化。

编辑

另请注意,没有 block 传递给 runBlock。应该是

SKAction.runBlock({ /* code in here */ })

不仅仅是

SKAction.runBlock( /* just code here wouldn't be inside of a block/closure */ )

关于ios - Swift SpriteKit '($T15) -> $T16' 与 'SKEmitterNode' 不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29669649/

相关文章:

iOS 推送通知未发送用于生产

swift - Spritekit - 以 NSException 类型的未捕获异常终止

ios - 从继承的导航栏 Swift 3 中删除后退按钮文本

iOS - 数据在 Core Data 中保存一次

ios - Google Places - 当前位置抛出 : An internal error occurred in the Places API library

ios - 从 SKScene 获取命令键

sprite-kit - SpriteKit 局部纹理贴图

ios - 在 viewDisappear 之前等待 saveInBackground Parse

ios - 在 UINavigationController 中支持纵向和横向 View 的最佳实践

ios - 如何限制 Storyboard设计器中 UIView 的大小以及整体运行时 View 的大小?