2016-10-01 9 views
-1

このような質問がありますが、私はC#で答えを見つけることができませんでしたので、ここで私の質問です:私はそれが直面している方向にオブジェクト(ユニティ5)を回転させたいです。私は現在、私のプレーヤーを回転させるこのコードを持っています。オブジェクトを直面している方向に移動しますか? C#

using UnityEngine;              
using System.Collections; 

public class Movement : MonoBehaviour 
{ 
    private bool isLeft = false; 

    void Update() 
    { 
     if (Input.GetMouseButtonDown(0)) 
     { 
      if (isLeft == false) 
      { 
       transform.rotation = Quaternion.Euler(90, 45,0); 
       isLeft = true; 
       Debug.Log("Turned Right"); 
      } 
      else 
      { 
       transform.rotation = Quaternion.Euler(90, -45, 0); 
       Debug.Log("Turned Left"); 
       isLeft = false; 
      } 
     } 
} 
+1

タイトルは**「向いている方向にオブジェクトを動かす」**あなたの質問の本文は**「私が向いている方向にオブジェクトを回転させたい」と言っています* * ....オブジェクトを動かして回転させることは同じことではありません。あなたは本当に何をしようとしていますか?一方、あなたの質問のコードは機能しますか?そのコードで何が起こっていますか? – Programmer

答えて

0

あなたの質問と説明は少し曖昧ですが、矢印が向いている方向に移動したいと思われますか?

ゲームオブジェクトの矢印が前方を指していることを確認してください。シーン内のゲームオブジェクトを選択することによって、前方が何であるかを見ることができます。前方が青い矢印になります。

コードでは、この方向に移動するには、さまざまな方法で移動できます。力/移動/設定位置を適用します。私はそれらを試して見て、最高の感じを見ることをお勧めします。

transform.position += transform.forward * Time.deltaTime * movementSpeed; 

ここで、移動速度は移動速度を表す浮動小数点です。このコードをUpdate()に入れるとTime.deltaTimeが必要です。

0
答えに

[OK]をフル編集ので、あなたは、矢印とどちらの方法そのあなたはそれが直面しています方向を移動すると、プレイヤーがクリックしたときに、それが45度回転してい直面しています。

簡単な部分では、onclick()関数を呼び出すか、オブジェクト上にコライダーを設定し、マウスのクリックが矢印と同じかどうかを確認する簡単なスニペットを記述します。そうであれば、新しい回転を格納するためのVector3用の新しい変数を設定し、オブジェクトの回転に45を加え、gameObjectの新しい回転を新しい回転変数と同じに設定します。

+0

ここに:http://imgur.com/pf8fVBk [img] http://i.imgur.com/pf8fVBk.png [/ img]矢印が向いている方向に前進したい、そしてプレーヤークリックすると45度回転し、新しい方向に向くようになります。 – iFallOffStuff

関連する問題