1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34:
| procedure TPlay.RunGame; begin // Spielmodus auf "Laufen" einstellen isRunning := true; // Solange Spiel "läuft" while isRunning do begin // ggf. auf Ereignisse reagieren (z.B. Tastatur/Maus) Application.ProcessMessages; // Tastatur/Maus abfrage GetInput; GetMousePos; // Koordinaten und Winkel ausrichten geXForm3D_SetIdentity (@XForm); geXForm3D_RotateX (@XForm, TurnVector.x); geXForm3D_RotateY (@XForm, TurnVector.y); geXForm3D_RotateZ (@XForm, TurnVector.z); geXForm3D_Translate (@XForm, ViewVector.x, ViewVector.y, ViewVector.z); geCamera_SetWorldSpaceXForm (Camera, @XForm); // Rendering starten if geEngine_BeginFrame (Engine, Camera, GE_TRUE) <> OK then ExitError ('BeginFrame ist gescheitert!'); // Welt/Level rendern und darstellen if geEngine_RenderWorld (Engine, World, Camera, 0.0) <> OK then ExitError ('Rendering gescheitert!'); // Rendering beenden if geEngine_EndFrame(Engine) <> OK then ExitError ('EndFrame ist gescheitert!'); // Anzeige-Dummy (für WindowMode) geEngine_Printf(Engine, 0,0,'Die Hoelle auf Erden 2'); end; end; |