*   >> Lezen Onderwijs artikelen >> science >> programming

Het maken van een 3D-spel met Ogre - Het openen van een Window

Deze functie zal niet verlaten totdat de rendering lus wordt gestopt. * /Void StartRenderLoop (); /** Stopt de rendering lus * /nietig StopRenderLoop () {engineManagerRunning = false;} /** Voegt een bron locatie worden geladen. Moet worden aangeroepen voordat Startup wordt genoemd. * /Void AddNewResourceLocation (const ResourceLocationDefinition & definition) {resourceLocationDefinitionVector.push_back (definitie);} /** Called wanneer het venster wordt gesloten. * /Void windowClosed (RenderWindow * rw); /** Called één keer per frame.

* /Bool frameStarted (const FrameEvent & EVT); beschermd: /** Constructor. Initialiseert variabelen. * /OgreEngineManager (); /** Middelen laden van configuratiebestand. * /Void SetupResources (); /** Dialoogvenster config display box prompt voor grafische opties. * /Bool Configure (); /** Setup invoerapparaten.

* /Void SetupInputDevices (); ///OGRE Root std :: auto_ptr wortel; ///Standaard OGRE Camera Camera * genericCamera; ///OGRE RenderWIndow RenderWindow * venster; ///Vlag die aangeeft of de rendering lus loopt nog Bool engineManagerRunning; ///Resource locaties ResourceLocationDefinitionVector resourceLocationDefinitionVector; //OIS Invoerapparaten OIS :: InputManager * mInputManager; OIS :: Mouse * mMouse; OIS :: Keyboard * mKeyboard;}. # Endif /* OGREENGINEMANAGER_H_ * /

EngineManager.

cpp

De aannemer wordt gebruikt om alle van de pointers ingesteld op NULL

 /* * OgreEngineManager.cpp * * Gemaakt op: 18/12/2009 * Auteur: Matthew Casperson * /# include "iostream" # include "sstream" #include "OgreEngineManager.h" OgreEngineManager :: OgreEngineManager (): root (NULL), genericCamera (NULL), venster (NULL), engineManagerRunning (true) {} 

De destructor doet niets.

 OgreEngineManager :: ~ OgreEngineManager () {} 

Alle van de initialisatie wordt gedaan in een functie genaamd Startup.

Dit komt omdat de klasse OgreEngineManager is een eenling, en één van de problemen met het gebruik van eenlingen is dat je niet echt kunt er zeker wanneer zij zullen worden vernietigd. Om dit te omzeilen alle initialistion gebeurt in het inbedrijfstellingsfunctie en alle vernietiging gebeurt in een functie genaamd afsluiten. De willekeurige functie zal worden gebruikt nogal wat in het spel, dus we beginnen met het zaaien van de random functie met de huidige tijd, dat is een vrij veel voorkomende manier om een ​​random seed genereren.


 Bool OgreEngineManager :: Startup ( const std :: string pluginFileNa

Page   <<  [1] [2] [3] [4] [5] [6] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.