Воскресенье, 24.11.2024, 18:08
Приветствую Вас Гость | RSS
Главная | Движок HGE. Введение | Регистрация | Вход
Языки Программирования (adsbygoogle = window.adsbygoogle || []).push({});
Форма входа
Меню сайта

Календарь
«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930

Наш опрос
Оцените мой сайт
Всего ответов: 101

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    reklama

    Движок HGE. Введение

     
     
     
     

    Приветствую! Сейчас поговорим о HGE. HGE - это простой в изучении игровой движок с аппаратным ускорением. Отлично подходит для "игроделов" вроде меня. Лично я выбираю движки по принципу "сделал игру за вечер - отлично, не сделал - движок не подходит", так вот, с этим движком я игру за вечер-таки сделал, чего и вам желаю.

    Подготовка:

    Алгоритм подготовки прост и выглядит приблизительно так:

    1. Скачать движок HGE.
    2. Установить движок.
    3. Написать тестовую программу.
    4. Радоваться.

    Сегодня мы выполним все четыре пункта алгоритма. Итак, начнем с первого. Движок HGE бесплатен и скачать его можно с официального сайта (~3.8 MB). Там же можно найти великолепную документацию на английском языке. Далее будем его устанавливать...


    Для установки на Borland C++ Builder или популярный сейчас GCC сделайте то же самое, однако файлы библиотек скопируйте с соответствующих папок, то есть для Borland из папки BC а для GCC из папки GCC соответственно.

    Вот теперь будем писать тестовую программу. Я буду писать в Microsoft Visual C++ 6.0. Но для начала немного приготовлений...

    Создайте новый проект типа Empty Project и откройте его свойства линковки
    (Project -> Settings -> Link).

    Далее проверьте вашу строку модулей (Object/library modules). Она должна выглядить так:

    1

    Если она у вас другая (а она определенно будет другая), сотрите из нее все и введите значение как на картинке. Далее посмотрите команду компиляции (Project Options) и замените ее на:

    2

    Теперь все готово. Будем писать код. Комментарии, надеюсь, понятны.

    #include <hge.h>
    
    HGE *hge = 0;
    
    // Эта функция будет вызываться HGE каждый кадр.
    // Напишите свой повторяющийся код здесь. В этом примере 
    // мы проверим, нажал ли пользователь ESC.
    bool FrameFunc()
    {
     // Возвращением TRUE 
     // мы скажем HGE остановить приложение.
     if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;
    
     // Продолжаем выполнение
     return false;
    }
    
    int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
    {
     // Здесь мы используем глобальный указатель на интерфейс HGE. 
     // Используйте hgeCreate() каждый вызов интерфейса HGE.
     // Не забудьте, что каждый блок hgeCreate() должен 
     // сопровождаться его собственным hge-Release()
     hge = hgeCreate(HGE_VERSION);
    
     // Устанавливаем фреймовую функцию.
     hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
     
     // Устанавливаем заголовок окна.
     hge->System_SetState(HGE_TITLE, "HGE Tutorial 01 - Minimal HGE application");
     
     // Запускаем в оконном режиме 800х600
     hge->System_SetState(HGE_WINDOWED, true);
     
     // Не используем звук.
     hge->System_SetState(HGE_USESOUND, false);
     
     // Пробуем инициировать интерфейс. 
     // Если у нас проблемы, возвращаем FALSE 
     // и подробную информацию из System_GetErrorMessage().
     if(hge->System_Initiate())
     {
     // Запускаем фреймовую функцию. 
     // Выполнение завершается здесь 
     // пока возвращается TRUE из FrameFunc
     hge->System_Start();
     }
     else
     { 
     // Если инициализация провалена, возвращаем 
     MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
     }
     
     // Пользователь нажал ESC 
     // и мы закрываемся. 
     
     // Восстанавливаем данные оконной подсистемы 
     // и чистим оперативку после себя. 
     hge->System_Shutdown();
     
     // Останавливаем интерфейс HGE. 
     // Больше HGE не будет выполнять ничего.
     hge->Release();
     
     return 0;
    }
    

    Тестовую программу мы написали. Теперь радуйтесь. Я напишу еще достаточно уроков про HGE. На следующем уроке рассмотрим интересности этого движка.


    Урок 8 - Движок HGE. Второй туториал 


    Copyright MyCorp © 2024
    Бесплатный хостинг uCoz