Doch doch, das war mir schon vorher klar
Deshalb kannste mir auch ruhig glauben: das sollte so wie ich es sagte Funktionieren an sich mit dme drehen ...
hier mal n Stückchen Source von nem kleinen Demo, das ich selber geschrieben hab
Delphi-Quellcode:
if rdir = 1 then
begin
rot := rot-5*timefactor;
end;
if rdir = 2 then
begin
rot := rot+5*timefactor;
end;
if getasynckeystate(vk_up) <> 0 then
begin
my_x := my_x-0.4*sin(degtorad(rot))*timefactor;
my_y := my_y+0.4*cos(degtorad(rot))*timefactor;
end;
if getasynckeystate(vk_down) <> 0 then
begin
my_x := my_x+0.4*sin(degtorad(rot))*timefactor;
my_y := my_y-0.4*cos(degtorad(rot))*timefactor;
end;
if getasynckeystate(vk_right) <> 0 then
begin
my_x := my_x+0.2*sin(degtorad(rot-90))*timefactor;
my_y := my_y-0.2*cos(degtorad(rot-90))*timefactor;
end;
if getasynckeystate(vk_left) <> 0 then
begin
my_x := my_x+0.2*sin(degtorad(rot+90))*timefactor;
my_y := my_y-0.2*cos(degtorad(rot+90))*timefactor;
end;
...
glrotate(rot,0,1,0);
gltranslate(my_x,-1.1,my_y);
Also genau das gleiche: erstmal rotieren (um den ursprung halt) und dann verschieben .. geht einwandfrei
NUr dmait man mir auch glaubt: der ganze Source und das Programm selber im Anhang ^^ (ist ein Delphi 2005 Personal Source ... lässt sich aber auch mit Delphi 5 kompilieren ... ich denke damit auch mit allen Versionen dazwischen)
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!