相关疑难解决方法(0)

以有限的旋转速度触摸旋转精灵

我试图让我的spriteNode旋转手指触摸.

到目前为止,我可以做到,但我想要的是我的节点具有"旋转速度".所以我计算角度的长度然后设置一个不同的时间与它一起旋转(如果弧很长,则需要时间......).

这是我的代码:

override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
    _isTouched = true
    for touch in touches {
        let location:CGVector = touch.locationInNode(self) - miner.position

        miner.weaponRotation = location.angle() - CGFloat(M_PI_2)
    }
}

var wantedRotation: CGFloat {
    get { return _wantedRotation }
    set(rotation) {
        if rotation > CGFloat(M_PI) || rotation < -CGFloat(M_PI) {
            _wantedRotation = CGFloat(M_PI) + rotation % CGFloat(M_PI)
        }
        else {
            _wantedRotation = rotation
        }

        removeActionForKey("rotation")
        let arc: CGFloat = CGFloat(abs(_wantedRotation - zRotation))
        let shortestArc: CGFloat = min(arc, CGFloat(M_PI …
Run Code Online (Sandbox Code Playgroud)

rotation ios sprite-kit skaction swift

6
推荐指数
1
解决办法
1927
查看次数

标签 统计

ios ×1

rotation ×1

skaction ×1

sprite-kit ×1

swift ×1