Einzelnen Beitrag anzeigen

Destroxi

Registriert seit: 29. Okt 2011
55 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: OpenGL - Allgemeine Fragen

  Alt 1. Nov 2011, 12:37
KK erstma danke werde jetzt alles ausprobieren ;D

€dit: Wegen der Rotation: ich weiß warum ich es nicht gesehen habe, es war außerhalb des Bildschirmes, deswegen meine Frage: Wie drehe ich ein Objekt auf einer Stelle?

€dit²: Neue Frage: Wie lasse ich (für Tetris) die Objekte die herunterfallen nicht verschwinden? Am besten so, dass ich sie nicht immer neu zeichnen muss
Mein Code: (wo sie verschwinden)
Delphi-Quellcode:
procedure TForm1.Render(Sender: TObject; var Done: Boolean);
begin
 // Altes löschen
 glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);

 // Karte und sehfeld einstellen kommt noch in OnCreate - Event
 glMatrixMode(GL_PROJECTION);
 glLoadIdentity;
 glViewport(0, 0, ClientWidth, ClientHeight);
 glOrtho(0, SizeX, 0, SizeY, -128, 128);
 glMatrixMode(GL_MODELVIEW);
 glLoadIdentity;

 // Prüfen ob ein Block grade runterfällt, wenn nicht, erstelle einen neuen
 If SelBlock.Typ = 0 then
 begin
  SelBlock.Typ := 1; // Kommt noch Zufalls-Funkt. hin
  SelBlock.pX := SizeX/2-TypDaten[SelBlock.Typ].pWidth/2;
  SelBlock.pY := SizeY;
 end;

 // Den jeweiligen Typen erstellen
 glBegin(GL_QUADS);
  glColor3f(TypDaten[1].Red, TypDaten[1].Green, TypDaten[1].Blue);
  glVertex3f(SelBlock.pX, SelBlock.pY, 0);
  glVertex3f(SelBlock.pX, SelBlock.pY-TypDaten[SelBlock.Typ].pHeight, 0);
  glVertex3f(SelBlock.pX+TypDaten[SelBlock.Typ].pWidth, SelBlock.pY-TypDaten[SelBlock.Typ].pHeight, 0);
  glVertex3f(SelBlock.pX+TypDaten[SelBlock.Typ].pWidth, SelBlock.pY, 0);
 glEnd;

 // Objekt weiterfallen lassen
 If SelBlock.pY > TypDaten[SelBlock.Typ].pHeight then
  SelBlock.pY := SelBlock.pY - 2
 else
  SelBlock.Typ := 0;

 SwapBuffers(DC);

 Done := False;
end;
PS: Ich habe erst einen Typ gemacht!

Tutorial-Frage
Da ich sehr viele Fragen habe, würde ich gerne ein Tutorial wissen, wo auf OpenGL 2D Spiele Programmierung eingegangen wird, und später dann vielleicht auch 3D.
Weiß da jemand eins?
Danke!

Geändert von Destroxi ( 1. Nov 2011 um 14:55 Uhr)
  Mit Zitat antworten Zitat