2016-09-29 4 views
0

Ich versuche C# und Unity zu verwenden, um eine einfache Spielmechanik zu erstellen, die es dem Spieler ermöglicht, 45 Grad nach rechts zu drehen und dann seine neue Rotation auf -45 einzustellen. Es funktioniert Art:Rotation Werte durcheinander C#

using UnityEngine; 
using System.Collections; 

public class Movement : MonoBehaviour 
{ 
    public float speed = 215f; 

    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, 0, 0); 

       // No matter what I put as the x value, it always sets it to the z, 
       // for example: if I put 
       // transform.rotation = Quaternion.Euler(90, 270, 0); 
       // the position would be 90, 0, 270. 
       Debug.Log("Turned Left"); 
       isLeft = false; 
      } 
     } 
    } 
} 

Hier ist, was ich passieren soll:

1. Klick: Drehwerte auf 90, 45, 0

2. Klick: Drehwerte auf 90, -45, 0

Am Ich benutze einen Befehl falsch?

+1

Wenn Sie diese Zeile ändern: 'transform.rotation = Quaternion.Euler (90, 0, 0);' für diese eine 'transform.rotation = Quaternion.Euler (90, -45, 0);' sollte lösen Dein Problem – cjf93

+1

Danke ich fühle mich blöd: p hat funktioniert :) – iFallOffStuff

+0

habe ich als Antwort gepostet, bitte als richtig markieren :) – cjf93

Antwort

0

Wenn Sie diese Zeile ändern: . transform.rotation = Quaternion.Euler (90, 0, 0); für diese eine . transform.rotation = Quaternion.Euler (90, -45, 0); Sollte Sie Problem lösen.

Glückliche Codierung!