点击屏幕时如何改变物理体的矢量?

时间:2017-05-28 22:45:48

标签: swift sprite-kit

在我的游戏中,点击屏幕后,播放器开始向右移动。如果再次点击屏幕,则播放器向下移动。这是一些代码

 var isMoving = true

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {



    //moves to the right
    if isMoving == true  {
        player.physicsBody?.velocity = CGVector(dx: 600.0 + playerSpeed, dy: 0)


    }
    //moves down
    else {

        player.physicsBody?.velocity = CGVector(dx: 0, dy: -600.0 - playerSpeed)

    }

    isMoving = !isMoving

}

我的问题是我希望玩家从左到右改变方向,然后从左到右。所以序列将是Right,Down,Left和Up。换句话说,点击屏幕时总是右转。

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是拥有不同方向(向量)的列表。您可以保留索引并在每次点击时增加它,并使用nDirections模数。然后你更新玩家的方向。