*   >> Чтение Образование Статьи >> science >> programming

Создание 3D-игры с Огре - Открытие Window

аны параметры видео. Если пользователь отменил из коробки, то эта функция возвращает ложь. В противном случае он возвращает истину

 BOOL OgreEngineManager :: Настройка () {если (корне-> showConfigDialog ()) {окно = корне-> инициализировать (правда, "Огре"). вернуться верно; } Еще {вернуться ложным; }} <р> Функция windowClosed вызывается, когда окно было закрыто. .

В этом случае мы остановить Огре оказать петлю и выключения OIS

 аннулированию OgreEngineManager :: windowClosed (RenderWindow * RW) {ShutdownInput (); this-> StopRenderLoop ();} <р> Функция enterFrame называется один раз за кадр. Здесь мы фиксируем любой вход от мыши и клавиатуры, и если была нажата клавиша выхода мы выходим из цикла рендеринга, который выходит из программы.


 :: frameStarted (строительства FrameEvent & ЭВТ) {mKeyboard-> захват BOOL OgreEngineManager (); mMouse-> захвата (); если (mKeyboard-> isKeyDown (OIS :: KC_ESCAPE)) this-> StopRenderLoop (); вернуться engineManagerRunning;} <р> ResourceLocationDefinition.h 

<р> Класс ResourceLocationDefinition содержит информацию, необходимую Огре загрузить внешний ресурс

 #ifndef RESOURCELOCATIONDEFINITION_H_ # определить RESOURCELOCATIONDEFINITION_H_ # включить "строка" #include.

"вектор" структура ResourceLocationDefinition {ResourceLocationDefinition (STD :: строка типа, STD :: строка расположение, STD :: строка раздела): тип (тип), местоположение (место нахождения), раздел (раздел) {} ~ ResourceLocationDefinition () {} STD :: тип строка; STD :: строка расположение; STD :: строка раздела;}; ЬурейеЕ STD :: вектор ResourceLocationDefinitionVector; #endif <р> main.cpp

<р> Этот файл содержит основную функцию, которая является точкой входа в приложение. Здесь мы начинаем OgreEngineManager, введите оказать петлю, а затем выключайте OgreEngineManager.

Определение ENGINEMANAGER от OgreEngineManager.h, обеспечивает удобный способ доступа к OgreEngineManager одиночки.

 #include "OgreEngineManager.h" #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 # определить WIN32_LEAN_AND_MEAN # включить "windows.h" INT WINAPI WinMain (HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT) #elseint основной (INT ARGC, символ ** ARGV) #endif {если (ENGINEMANAGER.Startup (STD :: строка ("plugins.cfg"), STD :: строка ( "ogre.cfg"), STD :: строка ("ogre.log"))) ENGINEMANAGER.StartRenderLoop (); ENGINEMANAGER.

Shutdown ();} <р> В результате всего этого кода является черное окно. Тем не менее, с этим задел мы можем начат

Page   <<  [1] [2] [3] [4] [5] [6] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.