我试着做一个函数,这样当小鸟碰到其中一个管道时,就会发生一些事情(我稍后会写下来),但我马上就出错了,我不知道如何修复它。
是“UITouch”部分得到的错误,我已经试着把多个不同的代码放在那里,但我不知道我应该写在那里。
如果你知道答案,请告诉我。:)
func ifCollidedWith() {
if bird.touchesBegan(UITouch, withEvent: pipePair){
}
}
最佳答案
不能使用SKSpriteNode调用touchesStarted。touchesStarted是一种在点击屏幕时运行的方法,而不是在一个节点与另一个节点交互时运行。如果要检测碰撞,需要给节点一个物理体。创建一个枚举,并使用它在精灵节点之间分配类别位掩码、碰撞位掩码和接触位掩码。这听起来可能很混乱,所以这里有一个指南可以帮助您:Ray Wenderlich Swift SpriteKit for Beginners
关于swift - 无法将类型“UITouch.Type”的值转换为预期的参数类型“Set <UITouch>”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33331468/