2017-05-28 16 views
-1

私のゲームでは、画面をタップすると、プレーヤーは右に移動を開始します。画面が再びタップされると、プレーヤーは下に移動します。ここでは、コード画面をタップしたときのフィジックスボディのベクトルを変更する方法は?

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 

} 

の少しがあり、ここで私の問題は、私は、プレイヤーが左から右に形成し、その後、左に下から方向を変更したいということです。シーケンスは右、下、左、上になります。言い換えれば、画面がタップされているときは常に右折してください。

答えて

0

これを行う1つの方法は、異なる方向(ベクトル)のリストを持つことです。 nDirectionsのモジュロでインデックスを保持し、タップごとにインデックスを増やすことができます。次に、プレーヤーの方向を更新します。

関連する問題