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

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

gegeven. Als de gebruiker geannuleerd uit de doos, retourneert deze functie vals. Anders geeft true

 Bool OgreEngineManager :: Configure () {if (wortel-> showConfigDialog ()) {venster = wortel-> initialiseren (true, "OGRE."); return true; } Else {return false; }} 

De windowClosed functie wordt aangeroepen wanneer het venster is gesloten. . In dit geval stoppen we de Ogre maken lus en shutdown OIS

 ongeldig OgreEngineManager :: windowClosed (RenderWindow * rw) {ShutdownInput (); this-> StopRenderLoop ();} 

De enterFrame functie wordt één keer per frame genoemd.

Hier

 Bool OgreEngineManager :: frameStarted (const FrameEvent & evt) {mKeyboard-> capture vangen we elke input van de muis en het toetsenbord, en als de escape-toets ingedrukt we de lus te maken, waardoor het programma verlaat verlaten. (); mMouse-> capture (); if (mKeyboard-> isKeyDown (OIS :: KC_ESCAPE)) this-> StopRenderLoop (); terug engineManagerRunning;} 

ResourceLocationDefinition.

h

De ResourceLocationDefinition klasse bevat de informatie die nodig is door Ogre naar een externe bron te laden

 # ifndef RESOURCELOCATIONDEFINITION_H_ # definiëren RESOURCELOCATIONDEFINITION_H_ # include "string" #include. "vector" struct ResourceLocationDefinition {ResourceLocationDefinition (std :: string type, std :: string locatie, sectie std :: string): type (type), locatie (locatie), sectie (sectie) {} ~ ResourceLocationDefinition () {} std :: string type; std :: string locatie; std :: strijkers;} typedef std :: vector ResourceLocationDefinitionVector; #endif 

main.

cpp

Dit bestand bevat de belangrijkste functie, dat is de toegangspoort tot de toepassing. Hier beginnen we de OgreEngineManager, voer de lus maken, en vervolgens afsluiten van de OgreEngineManager. De ENGINEMANAGER definitie van OgreEngineManager.h, biedt een handige manier om toegang te krijgen tot de OgreEngineManager Singleton.

 #include "OgreEngineManager.h" #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 # definiëren WIN32_LEAN_AND_MEAN # include "windows.

h" INT WINAPI WinMain (HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT) #elseint main (int argc, char ** argv) #endif {if (ENGINEMANAGER.Startup (std :: string ("plugins.cfg"), std :: string ( "ogre.cfg"), std :: string ("ogre.log"))) ENGINEMANAGER.StartRenderLoop (); ENGINEMANAGER.Shutdown ();}

Het eindresultaat van al deze code is een zwart venster. Echter, met deze basis gelegd kunnen we beginnen met de 3D-objecten die

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