X- und Y-Bewegung mit Berücksichtigung des Winkels

Gast #4946691
Lesenswert?

Guten Morgen,
ich bin dabei ein Spiel zu programmieren. Mein Charakter kann sich 
drehen und natürlich laufen. Steht er im Winkel 0° und ich drücke W dann 
läuft er natürlich nur auf der Y-Achse. Halte ich allerdings W und D, 
läuft er ja quasi mit halber Geschwindigkeit auf der Y-Achse und mit 
halber Geschwindigkeit auf der X-Achse.

Wie man das anstellt steht auch z.B. hier:
http://stackoverflow.com/questions/5192983/calculating-x-y-movement-based-on-rotation-angle
1
X += Speed * Math.Cos(angle);
2
Y += speed * Math.Sin(angle);

Kann mir jemand erklären warum man für die X-Achse Cosinus nimmt und für 
die Y-Achse Sinus? Ich denke mal diese Frage wird dumm sein da ich weiß 
das es damit zutun haben muss das die X-Achse der Y-Achse ja um 90° 
verschoben ist.

Ist jemand so freundlich und kann mir das vll. noch irgendwie erläutern? 
Bin leider nicht so Mathe-Stark.
Sorry, vielen Dank,
mfG.
#4946879
Lesenswert?

Dirk B. schrieb:
> das kommt auch nicht die halbe Geschwindigkeit (0.5) hin, sondern
> Wurzel(0.5) = 0.707, damit in der quadratischen Summe (Phytagoras)
> wieder 1 raus kommt.

Wenn man die Manhattan metrik verwendet stimmt die halbe Geschwindigkeit 
wieder, aber dann würde man nicht sin und cos verwenden, oder müsste es 
noch anders normalisieren. Gibt es bereits Games, die alle Entfernungen 
mit Manhattan metrik berechnen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren