Ja eben ... nur die Kamera sitzt immer im Uhrsprung, deshalb darfst du nicht translaten, sondern musst erst rotieren
Versuchs also mal so:
Delphi-Quellcode:
if Mauspos = 1 then begin
Grad := Grad - (0.3* timefactor);
end;
if Mauspos = 2 then begin
Grad := Grad + (0.3* timefactor);
end;
if GetAsyncKeystate(Ord('W')) <> 0 then begin
PosX := PosX + sin(degtorad(Grad)) * 0.1 * Timefactor;
PosZ := PosZ - cos(degtorad(Grad)) * 0.1 * Timefactor;
end
else
if GetAsyncKeystate(Ord('S')) <> 0 then begin
PosX := PosX - sin(degtorad(Grad)) * 0.1 * Timefactor;
PosZ := PosZ + cos(degtorad(Grad)) * 0.1 * Timefactor;
end;
glrotated(Grad,0,1,0);
glTranslated(PosX,0,PosZ);
Das sollte denn Klappen
Mein neuer, 13 Teiliger Open GL - Kurs (Samples in Delphi):
www.dcw-group.net
Neu! Ein großer Teil der Demos nach
Kylix übersetzt!
Neu! Teil 2b: Initialisierung von
OpenGL unter Kylix ist fertig!