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

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

Loop (); /** Stopper rendering bue * /void StopRenderLoop () {engineManagerRunning = false;} /** Tilføjer en ressource sted til at blive lastet. Skal kaldes før Startup kaldes. * /Void AddNewResourceLocation (const ResourceLocationDefinition & definition) {resourceLocationDefinitionVector.push_back (definition);} /** Kaldes, når vinduet er lukket. * /Void windowClosed (RenderWindow * rw); /** Kaldes gang pr ramme. * /Bool frameStarted (const FrameEvent & EVT), beskyttet: /** Constructor. Initialiserer variablerne. * /OgreEngineManager (); /** Load ressourcer fra konfigurationsfilen.

* /Void SetupResources (); /** Vis dialogboksen config boksen for at bede om grafikløsninger. * /Bool Indstil (); /** Opsætning inputenheder. * /Void SetupInputDevices (); ///OGRE Root std :: auto_ptr rod; ///Standard OGRE Kamera Kamera * genericCamera; ///OGRE RenderWIndow RenderWindow * vindue; ///Flag angiver, om gengivelse løkken stadig kører bool engineManagerRunning; ///Ressource steder ResourceLocationDefinitionVector resourceLocationDefinitionVector; //OIS Input-enheder OIS :: InputManager * mInputManager; OIS :: Mus * mMouse; OIS :: Tastatur * mKeyboard,};.

# Endif /* OGREENGINEMANAGER_H_ * /

EngineManager.cpp

konstruktør bruges til at indstille alle de henvisninger til NULL

 /* * OgreEngineManager.cpp * * Oprettet den: 18/12/2009 * Forfatter: Matthew Casperson * /# omfatte "iostream" # include "sstream" # include "OgreEngineManager.h" OgreEngineManager :: OgreEngineManager (): root (NULL), genericCamera (NULL), vindue (NULL), engineManagerRunning (sand) {} ​​

destructor gør intet.

 OgreEngineManager :: ~ OgreEngineManager () {} 

Alle initialiseringen er gjort i en funktion hedder Startup.

Dette skyldes, at OgreEngineManager klasse er en singleton, og et af de problemer med at bruge enkeltfødte er, at du virkelig ikke kan være sikre på, hvornår de vil blive destrueret. For at omgå dette hele initialistion gøres på Startup-funktionen, og alle af ødelæggelsen sker i en funktion kaldet Shutdown. Den tilfældige funktion vil blive brugt ganske lidt i spillet, så vi starter med at pode den tilfældige funktion med den aktuelle tid, hvilket er en temmelig almindelig måde at generere en tilfældig frø.


 bool OgreEngineManager :: Opstart ( const std :: string pluginFileName, const std :: string configFileName, const std :: string logfilnavn) {//frø det tilfældige tal generator srand ((usignerede) tid (NULL)) 

Her skaber vi en ny

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