2016-08-25 5 views
0

enter image description here私は統一への初心者です、どんな助けも大歓迎です。キャラクターを前方に移動させたり、移動方向にも向きませんか?

キャラクター(下の画像に表示)が連続して前進するゲームを作りたいです。ユーザーが携帯電話の画面に触れると文字が上に移動します(長いタッチは文字を上方向に連続的に移動させます)。そうでない場合、文字は重力のためゆっくりと下がります。主なテーマは、障害物に触れることを避けることであり、キャラクターの動きは魅力的でなければなりません。これは3Dゲームですが、文字はx、y軸に移動します。

これまでのところ、キャラクターを前方に移動させ、モバイル画面をタッチしたときに文字を上に移動するコードを書きましたが、期待通りに機能しませんでした。

更新方法で

:あなたはクォータニオン機能の一つに見てみることができます

  transform.position += Vector3.right * Time.deltaTime * movementSpeed; 
if (Input.touchCount > 0) { 
    if (Input.GetTouch (0).phase == TouchPhase.Began) { 
         // move player against the gravity 
     transform.position += Vector3.up * Time.deltaTime * movementSpeed; 
    } 
    if (Input.GetTouch (0).phase == TouchPhase.Ended) { 
     // gravity acts on the character, so character falls down 
    } 
} 
+1

期待どおりに動作しませんでした。どうしましたか?ただ何も何か他の行動ですか? – turoni

+0

あなたのキャラクターに 'rigidbody'または'キャラクターコントローラー 'を使用していますか? –

答えて

0

- LookRotation:

https://docs.unity3d.com/ScriptReference/Quaternion.LookRotation.html

コードは、このような単純なする必要があります

Vector3 relativePos = target.position - transform.position; 
    Quaternion rotation = Quaternion.LookRotation(relativePos); 
    transform.rotation = rotation; 

ここで、target.positionは、あなたが画面に触れるところでは、transform.positionは位置であり、transform.rotationはあなたの動く物体の回転です。

希望します。

関連する問題