Ну вот, решил написать статьи по HGE (Haaf's Game Engine).
ВНИМАНИЕ! Для работы движка нужен Visual C++ 2010 Express Для понимания всего что тут написано вы должны уже давно работать (0.5-1 мес.) на VC++2010
Это первый урок от JavaMan'a, то есть меня, в этом уроке мы подключим необходимые для работы движка библиотеки. Для начала, скачаем сам движок Отсюда. Как только мы скачали архив, распакуем его, я распаковал его на рабочий стол. Далее заходим в папку include и копируем оттуда все файлы. Далее вставляем их в папку %ПАПКА VC++%/include/, далее в папке HGE открываем lib, копируем все файлы в папку %ПАПКА VC++%/lib/ Всё. Теперь осталось только подключить библиотеки в программе. Открываем VC++2010, создаём пустой проект, ПКМ по проекту - Свойства - вкладка Компоновщик - ввод - дополнительные зависимости. Теперь добавим две строчки в пункт, это hge.lib;hgehelp.lib, чтобы не было ошибок просто копируйте и вставьте. Всё. Мы подготовились. В следующем уроке мы создадим пустое окно
Вот и второй урок по HGE. В этом уроке мы создадим простое окно. Для начала создадим source код, ПКМ по проекту - Добавить - Создать Элемент - Файл C++ (.cpp). Далее пишем строчку:
Далее мы должны объявить функции HGE, для этого напишем
Code
HGE *hge;
Затем создаем функцию кадра. Функция кадра - это пользовательская функция, которую будет вызывать HGE один раз на кадр: поместим сюда код цикла игры. Когда функция кадра возвращает true, HGE останавливает выполнение игрового цикла.
В этом примере мы просто проверяем нажата ли клавиша ESC:
Code
bool FrameFunc() { if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true; return false; }
Если же Escape был нажат, функция возвращает 1 и программа завершает своё выполнение. Функция WinMain - стандартная точка входа в приложение windows. Здесь мы получим указатель на интерфейс HGE для доступа к функциям HGE. В этом коде мы используем глобальную переменную, для указателя на интерфейс HGE. Взамен этого вы можете вызывать функцию hgeCreate каждый раз в момент ображеня к HGE. Только нужно следить за соответсвующим вызовом функции Release на каждый вызов hgeCreate.
Code
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { hge = hgeCreate(HGE_VERSION);
Сейчас мы зададим свои значения нескольким константам.
Code
hge->System_SetState(HGE_FRAMEFUNC, FrameFunc); // Мы вызываем функции кадра hge->System_SetState(HGE_WINDOWED, true); // Делаем приложение в оконном режиме hge->System_SetState(HGE_USESOUND, false); // Не используем звуковую библиотеку hge->System_SetState(HGE_TITLE,"Тест"); // Зададим заголовок окна
В следующем коде мы проверяем, инициализировались ли функции.
Если же есть проблемы, приложение просто выдаст сообщение об ошибке и выйдет из программы. Далее выключаем проверку системы и продолжаем работу.
Code
hge->System_Shutdown(); hge->Release();
return 0; }
Вот и всё! В следующем уроке мы научимся "засовывать" объекты в игру и выводить его на экране.
Вот и новый урок. Сейчас мы сделаем объект, дадим ему текстуру и выведем его на экран. Для работы функций, нужно подключить заголовочный файл спрайтов:
Code
#include <hgesprite.h>
Далее мы должны объявить текстуру и объект:
Code
HTEXTURE texture; hgeSprite *Player;
Так, теперь мы загрузим текстуру. В коде инициализации
Code
if(hge->System_Initiate())
Пишем:
Code
texture=hge->Texture_Load("Player.png"); // Если мы загружем, значит этот спрайт есть. Поместите любой рисунок с названием Player.png в папку с игрой
Далее мы задаём текстру объекту
Code
Player = new hgeSprite(texture, 0, 0, 128, 128); // аргументы: текстура, х, у, высота, ширина Player->SetHotSpot(32, 32); //Задаём центр
Так, теперь нам необходимо создать рендер, для этого, после объявления текстуры и объекта пишем:
if(hge->System_Initiate()) { texture=hge->Texture_Load("Player.png"); Player = new hgeSprite(texture, 0, 0, 128, 128); Player->SetHotSpot(64, 64); hge->System_Start(); } hge->System_Shutdown(); hge->Release(); return 0; }
Спасибо за внимание! До скорых встреч! В следующем уроке мы сделаем управление объектом и поворачивание его за мышью
Список уроков будет пополняться!
Мне нужна стимуляция. Просто пишите свои комментарии, оставляйте отзывы и т.д. Так же вы можете помочь материально, для этого вышлите деньги на кошелёк WebMoney:
Code
R394342472030
Оставляйте в комментариях свой ник на сайте Make-Games.ru и я вас оставлю в списке пожертывающих.
Rocket - 150 рублей. Скажите ему спасибо. Именно из-за него будет ещё очень много уроков
Сообщение отредактировал: JavaMan - Четверг, 08.09.2011, 22:06
Дата: Воскресенье, 11.09.2011, 20:54 | Сообщение # 8
Сообщений: [229]
Quote (JavaMan)
Так же вы можете помочь материально, для этого вышлите деньги на кошелёк WebMoney:
Я под столом . Если б за такие статьи платили, я бы наверное на карибах жил бы . Хотя, находятся и среди нас богачи, которые платят). Надо и мне попробовать