![]() |
GLScene GLFullScreenViewer richtig benutzen?
hallo!
Ich habe in mein Spiel einen GLFullScreenviewer eingebaut. Ich hab jetzt kein Form mehr sondern ein DataModule wo ich die sachen reinpacke. Mein Code:
Delphi-Quellcode:
Wenn ich dass Spiel starte, werden aber nur die HUDSprites angezeigt, alles andere ist grau.
unit formSpiel;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, GLScene, GLObjects, GLMisc, GLWin32Viewer, GLFireFX, GLCadencer, GLTexture, DXDraws, GLSkydome, GLCollision, Keyboard, unitGL_Sprite, unitSpieler, GLCanvas, ExtCtrls, GLHUDObjects, GLThorFX, Menus, inifiles, Gauges, GLSpaceText; procedure TastaturAbfrage;{hier wird die Tastenbelegung festgelegt} type TSpiel = class(TDataModule) MLSpieler: TGLMaterialLibrary; GLCadencer_Spiel: TGLCadencer; GLFireFXManager1: TGLFireFXManager; GLScene_Spiel: TGLScene; Text1: TSpaceText; Kamera: TGLCamera; Timer1: TTimer; GLFireFXManager2: TGLFireFXManager; GL_Timer: TTimer; GLScene_Menue: TGLScene; Plane1: TPlane; Plane2: TPlane; Kamera_Menue: TGLCamera; GLCadencer_Menue: TGLCadencer; GLThorFXManager1: TGLThorFXManager; MLSpizzl: TGLMaterialLibrary; MLZauber: TGLMaterialLibrary; MLObjekte: TGLMaterialLibrary; MLMenue: TGLMaterialLibrary; MLSystem: TGLMaterialLibrary; glSceneViewer: TGLFullScreenViewer; procedure DataModuleCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure GLCadencer_SpielProgress(Sender: TObject; const deltaTime, newTime: Double); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure GLSceneViewer_SpielMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure GLSceneViewer_SpielMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure GL_TimerTimer(Sender: TObject); procedure GLSceneViewer_MenueMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure GLCadencer_MenueProgress(Sender: TObject; const deltaTime, newTime: Double); private { Private-Deklarationen } public { Public-Deklarationen } end; var Spiel: TSpiel; implementation uses unitVariablen, unitKarte, unitSystem, unitHUD, unitSpizzl, unitEffekte, unitKollision, unitObjekte, unitZauber, unitMenue; {$R *.dfm} procedure TSpiel.DataModuleCreate(Sender: TObject); begin Randomize; sSpielPfad := ExtractFilePath(ParamStr(0))+'..\..\'; iniConfig := TIniFile.Create(sSpielPfad+'Daten\Config.ini'); iniSpielerDaten := TIniFile.Create(sSpielPfad+'Daten\Spieler\Spieler.ini'); iniSpizzlDaten := TIniFile.Create(sSpielPfad+'Daten\Monster\Spizzl.ini'); iniObjektDaten := TIniFile.Create(sSpielPfad+'Daten\objekte\objekte.ini'); {systemressourcen laden z.b. mauszeiger} //MLSystem.LoadFromFile(sSpielPfad+'grafik\system\system.lib'); glSceneViewer.Active:=True; //Vollbild aktivieren SpielStarten(0); while glSceneViewer.Active do begin Forms.Application.ProcessMessages; sleep(1); GLCadencer_Spiel.Progress; TastaturAbfrage; HUDAktion; {kamera bleibt über dem spieler} Kamera.Position.X := Spieler.Position.x; Kamera.Position.y := Spieler.Position.y; maus.doMove(self,0,0); end; end; Weiß jemand woran das liegt? Danke schonmal, |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr. |
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