*   >> Lese Utdanning Artikler >> science >> programming

Å gjøre en 3D-spill med Ogre - åpner et vindu

() {engineManagerRunning = false;} /** Legger en ressurs sted som skal lastes. Må kalles før oppstart kalles. * /Void AddNewResourceLocation (konst ResourceLocationDefinition & definition) {resourceLocationDefinitionVector.push_back (definisjon);} /** Kalles når vinduet er lukket. * /Void windowClosed (RenderWindow * rw); /** Kalles gang per ramme. * /Bool frameStarted (konst FrameEvent & evt), beskyttet: /** Constructor. Initialiserer variabler. * /OgreEngineManager (); /** Load ressurser fra config fil.

* /Void SetupResources (); /** Skjerm dialogboksen config boksen for å be for grafikkalternativer. * /Bool Konfigurer (); /** Setup inndataenheter. * /Void SetupInputDevices (); ///OGRE Root std :: auto_ptr rot; ///Standard OGRE Kamera * genericCamera; ///OGRE RenderWIndow RenderWindow * vinduet; ///Angir om rende loopen kjører fortsatt bool engineManagerRunning flagg; ///Ressurs steder ResourceLocationDefinitionVector resourceLocationDefinitionVector; //OIS Inntasting enhet OIS :: InputManager * mInputManager; OIS :: Mouse * mMouse; OIS :: Keyboard * mKeyboard;};.

# Endif /* OGREENGINEMANAGER_H_ * /

EngineManager.cpp

Konstruktøren brukes til å stille alle de pekere til NULL

 /* * OgreEngineManager.cpp * * Laget på: 18.12.2009 * Forfatter: Matthew Casperson * /# include "iostream" #include "sstream" #include "OgreEngineManager.h" OgreEngineManager :: OgreEngineManager (): root (NULL), genericCamera (NULL), vindu (NULL), engineManagerRunning (true) {} 

destructor gjør ingenting.

 OgreEngineManager :: ~ OgreEngineManager () {} 

Alle de initialisering er gjort i en funksjon Oppstart.

Dette er fordi OgreEngineManager klassen er en enkelt, og ett av problemene med å bruke enkeltfødte er at du ikke kan virkelig være sikker på når de vil bli ødelagt. For å komme rundt dette hele initialistion er gjort i oppstartsfunksjonen, og alle ødeleggelsene er gjort i en funksjon som heter Shutdown. Den tilfeldige funksjonen vil bli brukt ganske mye i spillet, så vi starter med seeding den tilfeldighetsfunksjon med gjeldende tid, noe som er en ganske vanlig måte å generere en tilfeldig frø.


 bool OgreEngineManager :: Startup ( const std :: string pluginFileName, const std :: string configFileName, const std :: string logfilename) {//frø tilfeldig nummer generator srand ((usignert) tid (NULL)); 

Her skaper vi en ny rot objekt . Dette kommer til å være det første skrittet i initialisering av Ogre motoren. Den pluginFileName

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.