Métodos públicos | |
| virtual bool | OnInit ()=0 |
| virtual bool | OnShutdown ()=0 |
| virtual void | OnFrame ()=0 |
| virtual void | OnDraw () |
| virtual void | OnLostDevice () |
| virtual void | OnResetDevice () |
| bool | StartUp (GameConfig *config=NULL) |
| void | Loop () |
| bool | Shutdown () |
| bool | ChangeResolution (int width, int height, int bits, bool fullScreen, int refreshRate, bool vsync) |
| bool | ChangeResolution (GameConfig *config) |
| Game () | |
Atributos protegidos | |
| STCPUInfo | _stCPUInfo |
| FPSMeter | _fpsMeter |
| bool | _clearScreen |
| GameConfig * | _config |
// main.cpp #include "game.h" using namespace zak; //#define USING_DIRECTX81 #ifdef USING_DIRECTX81 #ifdef _DEBUG #pragma comment (lib, "zakengine81d.lib") #else #pragma comment (lib, "zakengine81.lib") #endif #else #ifdef _DEBUG #pragma comment (lib, "zakengined.lib") #else #pragma comment (lib, "zakengine.lib") #endif #endif int main () { string desc; TestGame game; GameConfig config; if (!config.Load("config.ini")) return false; if (game.StartUp(&config)) { game.Loop(); } else { game.Shutdown(); MessageBoxA(g_window.GetHWnd(),Log.GetLastMessage(),"Error",MB_ICONERROR|MB_OK); return 1; } if (!game.Shutdown()) { MessageBoxA(g_window.GetHWnd(),Log.GetLastMessage(),"Error",MB_ICONERROR|MB_OK); return 1; } return 0; }
// game.h #pragma once #include <sstream> #include "zakengine/zak.h" using namespace zak; class TestGame : public Game { public: void OnFrame(); bool OnShutdown(); bool OnInit(); void OnDraw(); TestGame(); ~TestGame(); private: };
// game.cpp #include "game.h" TestGame::TestGame() { } TestGame::~TestGame() { } bool TestGame::OnInit() { _clearScreen = true; return true; } void TestGame::OnFrame() { if (KeyDown(DIK_ESCAPE)) PostQuitMessage(0); } void TestGame::OnDraw() { wstringstream ss; ss << ZAK_ENGINE_NAME << endl << "FPS: " << _fpsMeter.GetFps() << endl; g_renderer.SetFontColor(0xFFFF0000); g_renderer.DrawString(ss.str(),10,10,800-20,600-20,ZAK_TEXT_LEFT); } bool TestGame::OnShutdown() { return true; }
| zak::Game::Game | ( | ) | [inline] |
Constructor.
| virtual bool zak::Game::OnInit | ( | ) | [pure virtual] |
Método virtual puro invocado luego de haberse inicializado correctamente el motor.
| virtual bool zak::Game::OnShutdown | ( | ) | [pure virtual] |
Método virtual puro invocado antes de apagar el motor.
| virtual void zak::Game::OnFrame | ( | ) | [pure virtual] |
Método virtual puro invocado durante el bucle principal antes de dibujar la escena. Aquí actualizaremos las variables, chequearemos los dispositivos de entrada, etc.
| virtual void zak::Game::OnDraw | ( | ) | [inline, virtual] |
Método virtual puro invocado durante el bucle principal en el momento de dibujar la escena. Aquí llamaremos a los métodos correspondientes al dibujado de los elementos correspondientes.
| virtual void zak::Game::OnLostDevice | ( | ) | [inline, virtual] |
Método invocado cuando se pierde el dispositivo ante un ALT+TAB en pantalla completa o por algún error.
| virtual void zak::Game::OnResetDevice | ( | ) | [inline, virtual] |
Método invocado cuando reinicia el dispositivo de Direct3D luego de perderlo ante un ALT+TAB.
| bool zak::Game::StartUp | ( | GameConfig * | config = NULL |
) |
Método que debemos invocar para inicializar la aplicación. Se encargará de crear la ventana, inicializar DirectX, inicializar el sonido, etc. y luego invocará al método OnInit.
| void zak::Game::Loop | ( | ) |
Método que correrá el bucle principal. Se encargará de llamar a los métodos OnFrame y OnDraw respectivamente.
| bool zak::Game::Shutdown | ( | ) |
Método que apagará la aplicación. Se encargará de invocar al método OnShutdown y de apagar correctamente el motor.
1.5.1-p1