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.