Воскресенье, 19.05.2024, 08:36
Personal dimanche13 site
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Категории каталога
Мои статьи [22]
BlitzMax [17]
раздел содержит статьи относящиеся к языку программирования BlitzMax
SDL [9]
раздел содержит статьи на тему SDL
Code::Blocks [3]
в этом разделе рассказывается как прикрутить движок к интегрированной среде разработки(IDE) Code::Blocks
Форма входа
Поиск
Друзья сайта
Главная » Статьи » Code::Blocks

CodeBlocks + HGE

CodeBlocks + HGE

 
Содержание:
1. Пару слов о CodeBlocks.
2. Пару слов об HGE.
3. Ставим HGE.
4. Выведение. 
Пару слов о CodeBlocks.
CodeBlocks - это кросплатформенная IDE для разработки программ на языках С/С++. Умеет работать со многими компиляторами, программа насколько проста в освоении, настолько и эффективна. Множество настроек, которые вы можете подогнать под свой вкус, от расскраски Editor-а, до userTamplate-ов, помогут вам быстро освоиться в этой среде разработки. Об установке данной программы для Windows, я достаточно подробно рассказал в заметке: CodeBlocks + SDL ( http://dimanche.ucoz.ru/publ/1-1-0-31 ). Правда там я использовал старую версию этого ИДЕ RC1, теперь я расскажу как пользоваться новой. На момент написания статьи самой новой была версия Code::Blocks 8.02. Схема написания версий несколько изменилась, теперь цифры означают дату релиза : например версия 8.02 была выпущена в феврале 2008 года. (отсюда и 8.02) А вот в установке ничего не изменилось, как была уставновка "в три щелчка" так и осталась.
 
Пару слов об HGE.
Движок HGE намного моложе тех движков, о которых я уже рассказал (SDL, Allegrо). Основан на концепции другого движка (Grim 2D API http://koti.mbnet.fi/temper/grim/docs_states.html) Первая версия HGE вышла в 2004 году. Его бессменный автор, наш соотечественник Pavel Lebedev (Haaf). Он всегда открыт для общения по поводу развития и совершенствования HGE, его можно найти на оффициальном сайте движка и на самом, пожалуй большом, портале разработчиков gamedev.ru . Как и множество других движков HGE имеет как свои достоинства, так и свои недостатки. К достоинствам я могу отнести: простоту понимания принципов функционирования и использования команд, открытый исходный код, а так же много дополнительных элементов облегчающих разработку игры, таких как класс для векторов, классы для элементов ГУИ, система частиц с редактором и менеджер ресурсов. К недостаткам отнесу то, что для вывода звука используется библиотека Bass, всем она хороша, но платная. Нет работы с сетью, впрочем есть сторонние либы. К тому же движок заточен под DirectX, то есть другими словами для Windows. Но благодаря группе энтузиастов во главе с elmortem-ом уже делается порт движка под OpenGL. Как понял сейчас тестируется на MAC-е. У HGE имеется несколько ответвлений Qaf, nHge, MHA, sHA. Как я понял, самые удачные мысли и код будут введены потом и в оффициальные релизы движка. Последний релиз на момент написания статьи 1.81 от 18 марта 2008. Комьюнити есть, но к сожалению англоязычный форум более активен чем русскоязычный. Однако, хватит теории, давайте уже покрутим его в своих руках, как говорится лучше один раз увидеть ... )))
 
Ставим HGE.
Свежую версию движка можете скачать здесь: http://hge.relishgames.com/downloads.html весом не более 4 Мб. Я скачал 1.7. Как вы могли заметить и SDL и Allegro имеют папки с названиями include, bin, lib. Содержимое этих папок, есть основа этих движков(и других тоже). В архиве HGE помимо документации и исходников есть и эти папки (папки bin нет, но dll-ки лежат прямо в корне каталога).
Итак как вы уже поняли,что для любого движка надо указать нашей IDE, где находятся эти папки. (это замечание для любой ИДЕ, которую вы используете) Либо скопировать их содержимое в папки с такими же названиями в CodeBlocks. Я придерживаюсь первого варианта, распакуйте HGE например в диск С: C\hge_17. Теперь запускаем ИДЕ, создаем пустой проект, указываем папку, где он будет размещаться, компилятор, которым будем компилить. Ок. У нас теперь есть пустой проект без файлов. Добавим новый файл CTRL+SHIFT+N назовите его hgettest.cpp и вставьте следующий код:
 
[code]  
#include "hge.h"
 
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_TITLE, "HGE Tutorial 01 - Minimal HGE application");
 hge->System_SetState(HGE_WINDOWED, true);
 hge->System_SetState(HGE_USESOUND, false);

 if(hge->System_Initiate())
 {
  hge->System_Start();
 }
 else
 {
  MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
 }

 hge->System_Shutdown();
 hge->Release();
 
 return 0;
}
[/code]
 
Ничего я не изобрел. Это листинг первого тутора, он находится в папке c:\hge_17\tutorials\tutorial01 как видите ничего сложного в коде нет. Всё интуитивно понятно. Для того чтобы скомпилировать наш первый проект, нам надо указать директории в которых содержатся либы и заголовочные файлы(хидеры) движка. dll-ки должны лежать в папке проекта, либо в ..\CodeBlocks\bin или в C:\windows\system32 (подробнее об этом в предыдущих частях). Итак идем в Project->Build options здесь мы можем настроить все параметры "сборки" нашего проекта, от компилятора до флагов компиляции. Идем в закладку Search Directories там видим закладки Compiler и Linker в первой из них надо указать путь до include-ов движка во второй до lib движка
Теперь идем в закладку Linker Settings и прилинковываем две либы из папки lib\gcc вы же помните- у нас компилятор minGW.
Кстати, заметьте что для Debug и Realese версий можно указывать все эти параметры отдельно. Помните об этом. Жмыхаем Ок и возвращаемся в редактор. Теперь F9. И ... 
 
Отлично! Мы сделали это! Кстати, не забудьте, что если вы захотите использовать Sprite-ы то надо включать(#include) в проект и hgesprite.h, если партиклы то включайте hgeparticle.h и так далее, в общем в туторах все хорошо расписано. В конце приводятся ссылки на них. 
 
Выведение.
На этом пожалуй, разрешите откланиться. Я заканчиваю серию статей по объединению IDE CodeBlocks и игровых движков. Надо сказать, что существует несметное количество таких или подобных движков и библиотек, а сколько их еще будет...  Поэтому я не могу объять необъятное. Я дал вам принципы, которые работают во всех случаях. И на протяжении этих трех статей вы, должно быть, выявили некоторые закономерности. Надо признать, что я не силен в художественном оформлении слова и в литературности изложения, но прилагающиеся скриншоты помогут вам понять, то что я не смог донести словами. Надеюсь, что это было для вас познавательно и полезно. Спасибо за внимание!
 
Материалы по HGE: 
Категория: Code::Blocks | Добавил: dimanche (24.05.2008) | Автор: Dmitriy
Просмотров: 9169 | Комментарии: 8 | Рейтинг: 4.0/4 |
Всего комментариев: 7
7 Дмитрий  
0
MinGW скачайте идиоты,все отлично работает...

6 Wolferon  
0
Вот скачал HGE 17 и всё равно
Кстати все ошибки выдаёт в отношении hge.h Что делать???

5 Wolferon  
0
Всем привет.
Ну, сделал тютя в тютю как у вас написано, и получил 50 errors, 5 warnings!
Ничего не пойму. У меня Code blocks 8.02, а HGE 1.81. Помогите или дайте ссылку на 1-ый CB, бо непашет ничерта. С SDL такая же фиговина. HELP ME!

4 CoolMind  
0
А для CodeBlocks+MinGW - в подпапку Release примера (туда, где создаётся файл *.exe примера).

3 CoolMind  
0
Большое спасибо за статью!
Несколько раз пытался запустить примеры из Tutorial от HGE, но до этой статьи никак не удавалось. Во втором и далее tutorial необходимо также копировать некоторые файлы ресурсов (menu.wav, particles.png, ...) в проект (для Visual C++ 6.0 в подпапку Debug).

2 dimanche  
0
Спасибо, Евгений. Думаю и в WinCE это делается просто. Но, к сожалению, никогда с этой ОС не работал.

1 J3d1  
0
Спасибо, dimanche13, статьи зачетные! Сам прочитал и друзьям посоветовал. Мне понравилась SDL. Вот еще бы компилятор применительно к WinCE. Если можно, туториал по подсоединению и использованию такого компилятора (простенький helo word, или вывод картиночки в SDL) под этой платформой? Заранее спасибо!

Имя *:
Email *:
Код *:
Copyright MyCorp © 2024