我试图将旋转添加到精灵90度,所以如果我在它上面点击它,它会朝那个方向移动90度。想象蛇游戏。
在我的touchesBegan方法中,我可以让Sprite旋转,但是它似乎会自动翻转而不是实际上是90度,更像是180度。
任何想法为什么以及如何让它指向正确的方向。
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let touch = touches.first as UITouch!
let touchLocation = touch.locationInNode(self)
sceneTouched(touchLocation)
if (car.position.x > touchLocation.x) {
car.zRotation = CGFloat(M_PI_2)
} else {
car.zRotation = CGFloat(-M_PI_2)
}
}
答案 0 :(得分:1)
基于你的代码适合我的事实我会说这可能发生了,因为car.zRotation
的当前值不是0.0,而是像-M_PI_2
。因此,当您将其设置为M_PI_2
时,您将获得180度的旋转。在设置新值之前尝试打印car.zRotation
。