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; #endifMain.
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
Fazendo um jogo 3D com Ogre - Carregando um Scene
- Html5 pode fazer como Flash e Silverlight
- Css Classification
- 17 maneiras de obter Vista, para correr mais rápido
- O C ++ Cadeia Class
- Web Services O consumo em .net
- Laço Constrói Em C
- Criação de um banco de dados no banco de dados em MySQL Mysql
- A descrição de Menus Página Horizontal Web Para Hyperlinks
- C ++ Namespaces Basics
- Armazenamento Duração em C ++