Тема: Exotic Engine
Показать сообщение отдельно
Старый 29.03.2010, 22:59   #102
Igor'
ПроЭктировщик
 
Аватар для Igor'
 
Регистрация: 15.10.2009
Сообщений: 190
Написано 47 полезных сообщений
(для 142 пользователей)
Ответ: HxEngine

Поповоду второго:

#include "..\Engine\squad.h"


typedef void (*KeyAction)();

static KeyAction keyBind[240]; // всего OIS потдерживает 237 клавиш,округлил.

void ExitAction(){
	Squad::EnginePtr()->exit();
}

class Game : public Squad::EngineListener{
public:
	bool keyPressed(const OIS::KeyEvent& _arg){
		
		if( keyBind[_arg.key] != 0 )
			keyBind[_arg.key]();

		return Squad::EngineListener::keyPressed(_arg);
	}
};

void main(){
	memset(keyBind,0,sizeof(keyBind));
	keyBind[OIS::KC_ESCAPE] = ExitAction;

	Squad::Engine* engine = Squad::Engine::getInstancePtr();
	engine->init(new Game,"");
	engine->main();
	engine->shutdown();
}
(Offline)