суботу, 26 лютого 2011 р.

Подключение HGE к Code::Blocks


Сегодня я покажу как подключить игровой движок HGE к среде разработки Code::Blocks. Начнем с того что нам нужно скачать последний дестрибутив движка HGE. Также на компьютере должна стоять Code::Blocks с настроиным компиляторм, в данном случае я использую компилятор Gnu GCC Compiler из пакета MinGW, идущий в комплекте с Code:: Blocks. Также у меня установлен Code::Blocks версии 10.05. Файлы движка HGE должны быть распакованы в папку hge на диске C:\. Путь не имеет значения, но в примере папка с движком находится именно там. Начнем. Запускаем Code:: Blocks, жмем File -> New -> From template....


Далее выбираем проект Win32 GUI Project
















 Откроется мастер создания проекта. Нажимаем далее, далее. В Project title вписываем название проекта, у нас это project_hge, в Folder to create project in  пишем C:\, нажимаем далее. В Compiler выбираем компилятор для проекта, я выбрал стандартный GNU GCC Compiler, жмем Finish

Все проект создан. Далее откроется окно с файлом main.cpp.















Удаляем все из файла и вписываем код. 
int main()
{
  return 0;
}
 
Далее собственно подключаем библиотеки движка. Нажимаем Project -> Build options ...















Идем на вкладку вкладку Linker settings и нажимаем на кнопку add после чего появится диалог выбора файлов, выбираем c помощью него библиотеку libhge.a которая у нас находится по пути c:\hge\lib\gcc\libhge.a, после чего возникнет сообщение нажимаем Да. После этого нажимаем Ок в диалоге выбора библиотек. Переключаемся на вкладку Search directories. Нажимаем Add, и выбираем папку include, находящийся в директории hge. Нажимаем ОК, далее в окне Project Build Options тоже нажимаем ОК, и проводим сборку проекта, после чего в папке проекта образуются директории bin и obj. Открываем директорию с HGE и там копируем библиотеку hge.dll и bass.dll в папку c:\proj_hge\bin\debug, это необходимо чтобы наш проект запустился.

Все фактически среду настроено, теперь скопируем текст первого примера HGE в наш файл и запустим проект.
 

#include 

HGE *hge = 0;

bool FrameFunc()
{
  if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;
  return false;
}

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
  hge = hgeCreate(HGE_VERSION);
  hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
  hge->System_SetState(HGE_WINDOWED, true);
  hge->System_SetState(HGE_USESOUND, false);
  hge->System_SetState(HGE_TITLE,"HGE Tutorial 01 - Minimal HGE application");
  
  if(hge->System_Initiate())
  {
    hge->System_Start();
  }
  else
  {
    MessageBox(NULL, hge->System_GetErrorMessage(), "Error",MB_OK | MB_ICONERROR | MB_SYSTEMMODAL);
  }
  hge->System_Shutdown();
  hge->Release();
  return 0;
}
Вот результат наших действий.
 

Немає коментарів:

Дописати коментар