Für meinen 2D Shooter (Vogelperspektive) möchte ich meine figur in mausrichtung laufen lassen.
Allerdings funktionniert es nich vollständig und ich hab jetz schon 3 stunden nach diesem fehler gesucht und ihn nich gefunden :S.
Code: Alles auswählen
Procedure Walk(direction)
If player\dir =< 0 And player\dir >= -90
direc = player\dir+90
direc2 = 2
ElseIf player\dir =< -90 And player\dir >=-180
direc = player\dir + 180
direc2 = 3
ElseIf player\dir => 90 And player\dir <=180
direc = player\dir - 90
direc2 = 4
ElseIf player\dir => 0 And player\dir <=90
direc = player\dir
direc2 = 1
EndIf
If direction = 1
;a = c * Sin(alpha)
;b = c * Sin(beta)
If direc2 = 1 Or direc2 = 4
player\x = player\x + (5 * Sin((90-direc)*#PI /180))
Else
player\x = player\x - (5 * Sin((90-direc)*#PI /180))
EndIf
If direc2 = 3 Or direc2 = 4
player\y = player\y + (5 * Sin(direc*#PI /180))
Else
player\y = player\y - (5 * Sin(direc*#PI /180))
EndIf
EndIf
EndProcedure
direction = gedrückte taste (1 ist nach vorne)
player\dir = drehung der figur (nach links bis -180, nach rechts bis 180)
direc = winkel der drehung der figur innerhalb eines quadranten
direc2 = quadrant im koordinatensytem, in dem die figur der punkt 0|0 ist.
also das laufen in den 2. und 4. quadranten funktionniert, nur iwie geht das mit dem 1. und 3. nich so richtig. Die figur läuft dort nur auf der y achse richtig. Auf der x achse bewegt er sich nur minimal.
Wär nett wenn mir jemand helfen könnte!!

DANKE!!!