Egoshooter Perspektive programmieren mit OpenGL
-
Oke, ich habs jetzt gecheckt.
Mein gehirn hat heute mal nicht ausgesetzt.Nur zur Info :
Ich hab die Variable "heading" in dem Code nicht gecheckt.
Jetzt ist eig alles klar."heading" = Angle.
Bei mir siehts also wie folgt aus :
GLfloat fAngle.
Bei Taste "A" :
fAngle += 0.5f;
Bei Taste "D" :
fAngle -= 0.5f;
Bei Taste "W" :
fTransX -= (float)sin(fAngle*piover180) * 0.05f; fTransZ -= (float)cos(fAngle*piover180) * 0.05f; //fAngle*piover180 = Gradzahl in Radiant
Bei Taste "S" :
fTransX += (float)sin(fAngle*piover180) * 0.05f; fTransZ += (float)cos(fAngle*piover180) * 0.05f; //fAngle*piover180 = Gradzahl in Radiant
Der Code in der ScenenFunktion :
glRotatef( -fAngle, 0.0f, 1.0f, 0.0f ); glTranslatef( -fTransX, fTransY, -fTransZ );
Und alles passt. Den realistikquatsch von wegen, SinusWave, damit es wie menschenLauf aussieht brauch ich nicht.
Vielen Vielen Dank, für die Hilfe, die Ihr mir gerade geboten habt. Und die Zeit über. Zumindest weiß ich jetzt, dass Trigonometrie entscheidend wichtig ist.
Mfg
jookerxxx (went lucky today)
-
Du solltest nicht bei Nehe lernen. Der Code ist hoffnungslos veraltet. glBegin und glEnd ist wirklich mittlerweile ein nogo. Verwende wenigstens Vertex Arrays.
-
Scorcher24 schrieb:
Du solltest nicht bei Nehe lernen. Der Code ist hoffnungslos veraltet. glBegin und glEnd ist wirklich mittlerweile ein nogo. Verwende wenigstens Vertex Arrays.