Swift SpriteKit '($T15) -> $T16' 与 'SKEmitterNode' 不同
Swift SpriteKit '($T15) -> $T16' is not identical to 'SKEmitterNode'
我是新人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)])))
}
错误在最后一行
截图:
我是运行XCode版本6.2
谢谢
您在调用节点上的 runAction
方法时使用了错误的语法。应该是
emitter.runAction(SKAction.sequence([SKAction.waitForDuration(0.1), SKAction.runBlock({emitter.particleBirthRate = 0})]))
注意从 emitter(runAction( ... ))
到 emitter.runAction( ... )
的变化。
编辑
另请注意,没有块传递给 runBlock
。应该是
SKAction.runBlock({ /* code in here */ })
而不仅仅是
SKAction.runBlock( /* just code here wouldn't be inside of a block/closure */ )
我是新人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)])))
}
错误在最后一行
截图:
我是运行XCode版本6.2
谢谢
您在调用节点上的 runAction
方法时使用了错误的语法。应该是
emitter.runAction(SKAction.sequence([SKAction.waitForDuration(0.1), SKAction.runBlock({emitter.particleBirthRate = 0})]))
注意从 emitter(runAction( ... ))
到 emitter.runAction( ... )
的变化。
另请注意,没有块传递给 runBlock
。应该是
SKAction.runBlock({ /* code in here */ })
而不仅仅是
SKAction.runBlock( /* just code here wouldn't be inside of a block/closure */ )