*   >> läser Utbildning artiklar >> science >> programming

Att göra en 3D-spel med Ogre - Öppna en Window

att bli det första steget i initiering av Ogre motorn. Den pluginFileName är namnet på textfilen som innehåller namnen på de Ogre plugins som kommer att användas. Den configFileName är namnet på en fil som Ogre använder för att spara information om renderaren och skärmupplösning. Den LogFileName är namnet på en loggfil som Ogre kommer att skriva till

 root.reset (ny Root (pluginFileName, configFileName, LogFileName));. 

Denna kod orsakar Ogre för att visa en dialogruta med grafik alternativ. .

Om spelaren upphäver i dialogrutan vi returnera false, vilket gör att programmet att avsluta Omdömen

 om returnera false (Konfigurera ()!), 

Standardantalet mipmaps anges. Du kan ta reda på mer information om mipmaps här Omdömen

 TextureManager :: getSingleton () setDefaultNumMipmaps 

(5),..

Vi kallar SetupInputDevices funktion för att initiera OIS (Objektorienterad Input System), som är en externt bibliotek som har blivit standard för åtkomst till inmatningsenheter i Ogre de facto Omdömen

 SetupInputDevices ();. 

De resurser Ogre laddas sedan.

De Ogre prover ladda sina resurser från en textfil, men jag föredrar att hålla dessa värden i källkoden (det är en mindre sak som kan ändras av slutanvändaren, och så är en sak mindre att gå fel). För denna demo kommer vi faktiskt inte läsa några resurser, men detta kommer att bli viktigt senare

 SetupResources ();. 

OgreEngineManager behöver ta emot meddelanden om två händelser. Eftersom det utökar FrameListener klass, OgreEngineManagers frameStarted funktion som kallas en gång per bildruta.

Och genom att utvidga WindowEventListener klass vi underrättas om fönstret stängs med windowClosed funktionen. Men dessa funktioner aktiveras inte automatiskt - måste vi först registrera OgreEngineManager med lämpliga objekt Omdömen

 rot-> addFrameListener (this);. WindowEventUtilities :: addWindowEventListener (fönster, this);. 

Till sist återvänder vi sant att indikera att Ogre har framgångsrikt initierats Omdömen

 return true;} 

avstängningsfunktion rensar upp alla resurser Ogre.

Vi börjar med att ta bort OgreEngineManager objekt från listan över FrameListeners och WindowEventListeners. Detta är en liten redundant, eftersom förstöra rotobjektet kommer att göra det ändå, men det skadar inte att det genomOmdömen

 annullera OgreEngineManager :: avstängning () {rot-> removeFrameListener (this). WindowEventUtilities :: removeWindowEventListener (fönster, this); 

Ogre

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.