*   >> Læs Uddannelse artikler >> science >> programming

Realiseringen af ​​et 3D-spil med Ogre - Åbning af en Window

rod objekt . Dette vil være det første skridt i initialisering af Ogre motor. Den pluginFileName er navnet på den tekstfil, der indeholder navnene på de Ogre plugins der vil blive anvendt. Den configFileName er navnet på en fil, som Ogre vil bruge til at gemme oplysninger om renderer og skærmopløsning. Den logfilnavn er navnet på en logfil, Ogre vil skrive til

 root.reset (ny Root (pluginFileName, configFileName, logfilnavn)),. 

Denne kode får Ogre at vise en dialogboks med grafiske muligheder. .

Hvis spilleren annullerer ud af dialogboksen vi vender tilbage falsk, hvilket vil få programmet til at holde op

, hvis return false (Konfigurer ()!); 

Standard antal mipmaps er specificeret. Du kan finde ud af mere information om mipmaps her

 TextureManager :: getSingleton () setDefaultNumMipmaps 

(5);..

Vi kalder de SetupInputDevices funktion til at initialisere OIS (Object-Oriented Input System), som er en ekstern bibliotek, der er blevet de facto standard for adgang inputenheder i Ogre

 SetupInputDevices ();. 

De ressourcer Ogre derefter indlæst.

De Ogre prøver indlæser deres ressourcer fra en tekstfil, men jeg foretrækker at holde disse værdier i kildekoden (det er en mindre ting, der kan ændres af slutbrugeren, og så er en ting mindre at gå galt). Til denne demo vil vi faktisk ikke indlæse nogen ressourcer, men dette vil blive vigtige senere

 SetupResources ();. 

OgreEngineManager skal modtage meddelelser om to begivenheder. Da det udvider FrameListener klassen, er OgreEngineManagers frameStarted funktion kaldet en gang pr ramme.

Og ved at udvide WindowEventListener klassen er vi meddelt af vinduet lukning med windowClosed funktionen. Imidlertid er disse funktioner ikke udløses automatisk - vi først nødt til at registrere OgreEngineManager med de relevante objekter

 rod-> addFrameListener (dette);. WindowEventUtilities :: addWindowEventListener (vindue, dette);. 

Til sidst vender vi tilbage sandt at angive, at Ogre er lykkedes initialiseret

 returnere sandt;} 

Funktionen nedlukning renser op alle de ressourcer Ogre.

Vi starter ved at fjerne OgreEngineManager objekt fra listen over FrameListeners og WindowEventListeners. Dette er en lille overflødigt, fordi ødelægge roden objektet vil gøre dette alligevel, men det gør ikke ondt at det gennem

 ugyldiggøre OgreEngineManager :: Shutdown () {rod-> removeFrameListener (dette).; WindowEventUtilities :: removeWindowEv

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.