Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OpenGL Pong (https://www.delphipraxis.net/167326-opengl-pong.html)

acidrain 24. Mär 2012 14:14

AW: OpenGL Pong
 
Fach: Informatik GK
Thema: Die Verwendung von OpenGL unter Anwendung von "Pong".

EWeiss 24. Mär 2012 14:16

AW: OpenGL Pong
 
Habe es nochmal editiert!
Als anfang sollte das reichen.

Lese bitte die Bemerkungen :)

gruss

acidrain 24. Mär 2012 14:44

AW: OpenGL Pong
 
Ich hab's zu Anfang mal umgesetzt, wie du es geschrieben hast. Natürlich selbst geschrieben und kein copy&paste :wink:
Also angezeigt wird immerhin der linke Schläger, nur bewegen tut er sich bei mir nicht, wenn ich W oder S drücke.
Trotzdem danke für soviel Hilfe! Ich schau da auch selber noch mehrmals drüber und benutze Tutorials zur Hilfe.


EDIT: Wäre es nicht um vieles einfacher, wenn ich einfach normale Panels nehmen würde und die dann mit OpenGL "anmale"?

EWeiss 24. Mär 2012 15:43

AW: OpenGL Pong
 
Habe mal das projekt angehängt..
Was aber seltsam ist das sich die beiden Schläger nicht trennen lassen.
Eigentlich sollte das mit glLoadIdentity(); machbar sein will aber aus irgendeinen grund nicht.
Liegt wohl daran das ich das projekt nicht komplett selbst geschrieben habe.

Sorry finde den fehler jetzt auf die schnelle nicht. Die Koordinaten stimmen aber.

Delphi-Quellcode:
procedure TForm1.Schlaeger;
begin
 //Spieler 1
 glLoadIdentity;
 glTranslatef(-60, 0, 0);
 glTranslated(0, s1, 0);
 glBegin(GL_QUADS);
   glColor3f(0, 1, 0); glVertex3f(-1,1,-1); //lo
   glColor3f(0, 1, 0); glVertex3f(-1,-9,-1); //lu
   glColor3f(0, 1, 0); glVertex3f(1,-9,-1); //ru
   glColor3f(0, 1, 0); glVertex3f(1,1,-1); //ro
 glEnd;

 //Spieler 2
 glLoadIdentity;
 glTranslatef(30, 6, -50);
 glTranslated(0, s2, 0);
 glBegin(GL_QUADS);
   glColor3f(0, 1, 0); glVertex3f(-1,1,-1); //lo
   glColor3f(0, 1, 0); glVertex3f(-1,-9,-1); //lu
   glColor3f(0, 1, 0); glVertex3f(1,-9,-1); //ru
   glColor3f(0, 1, 0); glVertex3f(1,1,-1);  //ro
 glEnd;

end;
Macht keinen unterschied ob Form oder panel der einzige ist halt das man es nicht Resizen kann.
Schläger läßt sich bewegen ;)

gruss

acidrain 24. Mär 2012 16:30

AW: OpenGL Pong
 
Danke, dass du dir solche Mühe gibst. Ich hab's jetzt auch selber geschafft. Bei mir bewegen sich beide Schläger, lassen sich aber auch nicht von einander trennen, wie ich gemerkt habe. Ich versuch's mal weiter und bedanke mich nochmal!

EWeiss 24. Mär 2012 16:52

AW: OpenGL Pong
 
Zitat:

Zitat von acidrain (Beitrag 1158352)
Danke, dass du dir solche Mühe gibst. Ich hab's jetzt auch selber geschafft. Bei mir bewegen sich beide Schläger, lassen sich aber auch nicht von einander trennen, wie ich gemerkt habe. Ich versuch's mal weiter und bedanke mich nochmal!

Hab ich gern getan.. Vielleicht findet sich noch jemand der dir bei den letzten Porblem noch helfen kann.
Edit:
Habe es auch mit
glPushMatrix();
glPopMatrix();
versucht trennt aber auch nicht die Schläger.. seltsam alles

gruss .. Schönes Wochenende.

acidrain 24. Mär 2012 17:10

AW: OpenGL Pong
 
Das Problem hat sich erledigt, ich hab's mit glPushMatrix und glPopMatrix gelöst.

Ich hätte noch eine Frage und bräuchte eine Hilfestellung.
1. Bei mir ist das ja jetzt so, dass nur ein Spieler die Tasten drücken kann, wenn der andere seine zugehörigen Tasten gleichzeitig drückt, dann passiert nichts.
Das verschafft ja ein unfaires Spielerlebnis für denjenigen Spieler, der später reagiert.

2. Wie sollte ich das mit den Kollisionen klären? Ich weiss ja nicht, wo genau das Spielfeld bei meiner Fenstergröße endet bzw. wo genau die Schläger sind.
Ich hab mich Gestern ein bisschen durchgelesen und hab immer nur gesehen, dass die Leute Variablen nehmen nur die Deklarationen sind nirgends vorzufinden.
Also wäre die genaue Frage, wie ich die genauen Koordinaten einlesen kann, dass ich mit stinknormalen IF Schleifen die Kollisionen festlegen kann.+


Vielen Dank im Vorraus,
acidrain


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz