【发布时间】:2017-06-11 01:54:35
【问题描述】:
我正在使用 SpriteKit 在 Swift 3 中编写一个 Galaga 风格的游戏,但我一直收到一个错误提示
无法将类型“[SKNode]”的值分配给类型“SKSpriteNode!”
谁能解释这意味着什么,以便我将来自己修复它并给我一个可能的解决方案?
这是我得到错误的函数:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = (touch as UITouch).location(in: self)
if fireButton = self.nodes(at: location) {
shoot()
} else {
let touchLocation = touch.location(in: self)
spaceship.position.x = touchLocation.x
}
}
}
我在if fireButton = self.nodes(at: location)一行得到错误
【问题讨论】:
-
你需要在那个 SKNode 上对 SKSpriteNode 类进行类型转换,我只知道如何用 Obj-C 来做,我不知道 swift (还) 抱歉
-
你能解释一下 typecast 是什么意思吗?
标签: swift3 sprite-kit xcode8 ios10