Referencia de la Clase zak::Game

Lista de todos los miembros.

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

Descripción detallada

Clase que encapsula la inicialización, el bucle principal y el apagado del motor. Ejemplo de uso:
// 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;
}

Autor:
Juan Pablo "McKrackeN" Bettini


Documentación del constructor y destructor

zak::Game::Game (  )  [inline]

Constructor.


Documentación de las funciones miembro

virtual bool zak::Game::OnInit (  )  [pure virtual]

Método virtual puro invocado luego de haberse inicializado correctamente el motor.

Devuelve:
Debemos retornar verdadero si todo salió correctamente y falso en caso contrario.

virtual bool zak::Game::OnShutdown (  )  [pure virtual]

Método virtual puro invocado antes de apagar el motor.

Devuelve:
Debemos retornar verdadero si todo salió correctamente y falso en caso contrario.

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.


La documentación para esta clase fué generada a partir de los siguientes archivos:
Generado el Tue May 29 14:46:15 2007 para Zak Engine v1.1.0 por  doxygen 1.5.1-p1