如何在SpriteKit中旋转Sprite 90度

时间:2015-12-17 08:41:10

标签: ios math sprite-kit

我试图将旋转添加到精灵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)
    }
}

1 个答案:

答案 0 :(得分:1)

基于你的代码适合我的事实我会说这可能发生了,因为car.zRotation的当前值不是0.0,而是像-M_PI_2。因此,当您将其设置为M_PI_2时,您将获得180度的旋转。在设置新值之前尝试打印car.zRotation