*   >> Leitura Educação Artigos >> science >> programação

Fazendo um jogo 3D com Ogre - Abrindo uma janela

da caixa, esta função retorna falso. Caso contrário, ele retorna true

 bool OgreEngineManager :: Configure () {if (raiz-> showConfigDialog ()) {janela = raiz-> inicializar (true ", OGRE."); return true; } Else {return false; }} 

A função windowClosed é chamado quando a janela foi fechada. . Neste caso, parar o Ogre tornar circuito e desligamento OIS

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

A função enterFrame é chamado uma vez por quadro.

Aqui nós capturar qualquer entrada do mouse e teclado, e se a chave de escape foi pressionado nós sair do loop de processamento, que sai do programa.

 bool OgreEngineManager :: frameStarted (const FrameEvent & evt) {mKeyboard-> captura (); mMouse-> captura (); if (mKeyboard-> isKeyDown (OIS :: KC_ESCAPE)) this-> StopRenderLoop (); retornar engineManagerRunning;} 

ResourceLocationDefinition.

h

A classe ResourceLocationDefinition contém as informações necessárias por Ogre para carregar um recurso externo

 #ifndef RESOURCELOCATIONDEFINITION_H_ # definir RESOURCELOCATIONDEFINITION_H_ # incluem "string" #include. "vector" struct ResourceLocationDefinition {ResourceLocationDefinition (std :: string tipo, localização std :: string, seção std :: string): tipo (type), localização (localização), seção (seção) {} ~ ResourceLocationDefinition () {} std :: tipo string; localização std :: string; std :: seção de cordas;}; typedef std :: vector ResourceLocationDefinitionVector; #endif 

Main.

cpp

Este arquivo contém a função principal, que é o ponto de entrada para o aplicativo. Aqui começamos a OgreEngineManager, entrar no ciclo de render, e, em seguida, desligar o OgreEngineManager. A definição ENGINEMANAGER, de OgreEngineManager.h, fornece uma maneira conveniente de acessar o solteirão OgreEngineManager.

 #include "OgreEngineManager.h" #if == OGRE_PLATFORM OGRE_PLATFORM_WIN32 # definir WIN32_LEAN_AND_MEAN # incluem "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 ();}

O resultado final de todo este código é uma janela preta. No entanto, com esta base estabelecida podemos começar a adicionar os objetos em 3D que irão tornar-se o jogo

Page   <<  [1] [2] [3] [4] [5] [6] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.