Jump to content
Unity Insider Forum

Mein Charakter dreht sich nicht


Tintenklecks

Recommended Posts

Hallo, Leute!

Ich hab ein ebsolut doofes problem. Bis vor kurzem funktionierte es noch, jetzt mag es nicht mehr. Ich mache ein 2D Spiel , und mein Spieler soll sich beim laufenmit der Quarternion.Euler funktion um die y Achse drehen, wenn er in die andere Richtung anfängt zu laufen. Bis vor kurzem hat das noch funktioniert, jetzt mag nichts mehr. AUch wenn ich den Spieler über den Inspektor um die Y Achse drehe, wird er einfach am anfang des spieles wieder auf Y 0 gesetzt.

 

        if (Input.GetKey(KeyCode.A) && laufenrechts == 0 || Input.GetKey(KeyCode.A) && laufenrechts == 2)
        {
            if (laufenrechts == 0) { laufenrechts = 2; }
            if (lookright)
            {
                transform.rotation = Quaternion.Euler(0, 180, 0);
                lookright = false;
            }
            if(!laufen) { laufen = true; anim.SetInteger("Bewegen", 1); }

            this.transform.position -= richtung * maxSpeed * Time.deltaTime;
        }

Das ist der Code, mit dem sich mein Charakter bewegt udn dreht. für die andere Richtung ist er entsprechend eingerichtet.

Wie gesagt, bis vor kurzem lief das noch einwandfrei, bis ich angefangen habe, dem Spieler das Springen beizubringen.

Ich hoffe einer von euch schlauen Köpfen kann mir behilflich sein.

LG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wäre es nicht besser du drehst dein Transform überhaupt nicht, sondern verwendest einfach die Flip-Funktion des SpriteRenderers (der SpriteRenderer macht es zwar scheinbar mit, aber eigentlich sollte die blaue Achse des Sprites immer von der Kamera wegzeigen)?
https://docs.unity3d.com/Manual/class-SpriteRenderer.html

//transform.rotation = Quaternion.Euler(0, 180, 0);
SpriteRenderer.flipX = true; // false für die andere Richtung

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...