Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 23, 2025 17:00

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Bewegung
BeitragVerfasst: Sa Aug 07, 2004 20:01 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
Hallo,
ich habe mal wieder mit OpenGL angefangen und verstehe einfach nicht wie das mit der bewegung geht.
ich habe folgenden code dafür:
Code:
  1.  
  2.   if mauspos = 1 then rotation := rotation + 1 * timefactor; //Rechtsdrehen
  3.   if mauspos = 2 then rotation := rotation - 1 * timefactor; //Linksdrehen
  4.  
  5.   if GetAsyncKeyState(vk_up) <> 0 then begin // Nach oben Taste gedrückt? Ja: Bewegen
  6.  
  7.     ypos := ypos - cos(degtorad(rotation))*0.1*timefactor
  8.   end;
  9.  
  10.   if GetAsyncKeyState(VK_Down) <> 0 then begin // Nach Unten Taste gedrückt? Ja: Bewegen
  11.     ypos := ypos + cos(degtorad(rotation))*0.1*timefactor
  12.   end;
  13.  
  14. //  glBindTexture(GL_TEXTURE_2D, tex);
  15.  
  16.   glRotatef(rotation,0,1,0); //Die entgültige Drehung
  17.   glTranslatef(0, 0, ypos); //Die entgültige Bewegung
  18.  
  19.  
  20.  


jetzt wollte ich mich einfach in nach vorne und nach hinten bewegen aber immer mit dem gleichen abstand zu den erstellen objekten:
Code:
  1.  
  2. glbegin(gl_quads);
  3.     glvertex3f(-1.4,-0.5,-3);
  4.     glvertex3f(-0.2, 0.5,-3);
  5.  
  6.     glvertex3f( 0.2, 0.5,-3);
  7.     glvertex3f( 1,-0.5,-3);
  8.   glend;
  9.  
  10.   glTranslatef(0,1,0);
  11.  
  12.   glbegin(gl_quads);
  13.     glvertex3f(-1,-0.2,-6);
  14.     glvertex3f(-0.2, 0.2,-6);
  15.     glvertex3f( 0.2, 0.2,-6);
  16.     glvertex3f( 1,-0.2,-6);
  17.   glend;
  18.  
  19.  

und das geht irgenwie nicht so wie ich es haben wollte

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Bewegung
BeitragVerfasst: Sa Aug 07, 2004 20:08 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
pluto hat geschrieben:
....
jetzt wollte ich mich einfach in nach vorne und nach hinten bewegen aber immer mit dem gleichen abstand zu den erstellen objekten
....


Öhm .. denn kann man die Bewegund#g auch glaich bleiben lassen, wenn man den Abstand zu allen Objekten gleich lassen will ...
Oder willste es so machen, dass du dich zu den meisten deiner Obejkte Bewegst, einige Aber Fixiert vor der Kamera sind? (Wie bei einem Shooter die Waffe / Hud?) Wenn ja, denn würde ich es so machen:

Code:
  1.  
  2. ...
  3.  
  4. if mauspos = 1 then rotation := rotation + 1 * timefactor; //Rechtsdrehen
  5.   if mauspos = 2 then rotation := rotation - 1 * timefactor; //Linksdrehen
  6.  
  7.   if GetAsyncKeyState(vk_up) <> 0 then begin // Nach oben Taste gedrückt? Ja: Bewegen
  8.  
  9.     ypos := ypos - cos(degtorad(rotation))*0.1*timefactor
  10.   end;
  11.  
  12.   if GetAsyncKeyState(VK_Down) <> 0 then begin // Nach Unten Taste gedrückt? Ja: Bewegen
  13.     ypos := ypos + cos(degtorad(rotation))*0.1*timefactor
  14.   end;
  15.  
  16. glpushmatrix;
  17.  
  18.  glRotatef(rotation,0,1,0); //Die entgültige Drehung
  19.  glTranslatef(0, 0, ypos); //Die entgültige Bewegung
  20.  
  21. <-- Hier alle Objekte zeichnen, welche sich nicht mitbewegen -->
  22.  
  23. glpopmatrix;
  24.  
  25. <-- Hier alle sich mitbewegenden Objekte zeichnen -->
  26.  

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Aug 07, 2004 21:37 
Offline
DGL Member
Benutzeravatar

Registriert: So Mai 11, 2003 10:36
Beiträge: 285
Wohnort: Oldenburg
Programmiersprache: Object Pascal
noch nicht das ware !

ich wollte mich einfach nach vorne oder nach hinten bewegen können.

ich dachte mir das ich fürden anfnagen ein kleines Auto spiel schreibe(Sykroades) und wenn ich mich jetzt bewege, bewegen sich alle objekte mit und das sieht irgenwie komisch aus(ich lade mal mein kleines progammchen hoch, nach den starten bitte etwas warten und die maus in der mitte halten *G*)


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.014s | 17 Queries | GZIP : On ]