如何用拖动旋转精灵

时间:2015-01-16 03:16:02

标签: ios swift sprite-kit

当我在屏幕上拖动手指时,我试图旋转精灵。所以我想要的是当我将手指向左移动时,精灵向右旋转,反之亦然,我无法弄清楚如何做到这一点。谁能帮忙。 我已经尝试使用函数“touchesMoved”,但我不确定这是否应该放在代码中,或者它应该在新函数中或者是什么。

PS。对不起,我是spritekit,swift和xcode的新手

1 个答案:

答案 0 :(得分:1)

您可以使用SKSpriteNode.zRotation属性旋转精灵。 并使用touchesBegantouchesMoved功能跟踪滑动距离。

var previousPoint : CGPoint!

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

   previousPoint = (touches.anyObject() as UITouch).locationInView(self.view)
}

override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {

    let currentPoint = (touches.anyObject() as UITouch).locationInView(self.view)

    let distance = currentPoint.x - previousPoint.x

    previousPoint = currentPoint

    sprite.zRotation = sprite.zRotation + distance/100.0

}