Вторник, 19 Марта 2024, 07:13

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [354]
Статьи об общих понятиях связанных с созданием игр.
Программирование [82]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [144]
Статьи о программах для создания игр, уроки и описания.
Софт [39]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [16]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [160]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [128]
Статьи, которые не вошли в определённые разделы.
Наш опрос
На какую платформу/систему создаёте игры?
Всего ответов: 10675
Главная » Статьи » Создание игр

Своя игра за день (часть 1)
И так, для начала скажу что нам потребуется Microsoft Visual Studio (или среда разработки с GCC компилятором) и разработанный мною движок GEGE (Green Elf Game Engine).

Скачать Visual Studio можно здесь: ТУТ
Скачать GEGE можно здесь: ТУТ



1) Для начала запускаем Visual Studio.
2) Подключаем GEGE (если он не подключен).

3) Создаем пустой проект

4) Добавляем выполняемый файл


Далее пишем в наш файл:
Code

#include <windows.h>

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
return 0;
}


Пробуем запустить наш проект, если всё ОК - идём дальше.

Теперь нам нужно подключить игровой движок GEGE, по этому после поключения windows.h пишем:
Code

#include <gege.h> //подключаем заголовочный файл

#pragma comment(lib,"gege.lib") //так мы подключаем lib файл в проект прямо из кода


gege.h - заголовочный файл GEGE
gege.lib - библиотека импорта для GEGE

Пробуем запустить наш проект, если всё ОК - идём дальше.

Поскольку движок работает только с виртуальным классом GEGE, то объявим на него указатель:
Code

GEGE* g; //это будет наш главный класс


Объявить то мы объявили, но указатель ничего не значит (ибо он не инициализирован), по этому в теле главной функции (WinMain) пишем:
Code

g=nGEGE(); //заполняем наш класс указателем


Теперь у нас есть заполненный указатель на класс GEGE. Отлично! Но если попытаться скомпилировать проект то ничего не произойдет... Ну это ясно, ведь мы ещё ничего и не сделали! Давайте ка создадим и запустим наш движок, а? Пускай игра у нас будет с окном 800x600 и в экранном режиме. Для инициализации пишем далее:

Code

g->Engine_Init("Lesson 1: Begin!",800,600,0); //Инициализирует движок, а так же создает окно с надписью "Lesson 1: Begin!" и размерами 800х600, а 0 указывает на то, что это будет игра в эконном режиме.
g->Engine_Start(0);//Собственно запускаем наш движок, 0 - указатель на функцию кадра (которой у нас нету...).


Запускаем и... Если всё хорошо то появиться окошко, с какой-то чушью, но всё же оно есть, а значит работает! Теперь последний нюанс, когда у нас закрывается окно - ничего не освобождается, а это плохо! Давайте добавим еще 1 строчку:

Code

g->Engine_Release();//Высвобождаем движок.


Ну вот в принципе и всё! В следующем уроке я расскажу как очищать экран, загружать текстуры и рисовать спрайты.

Категория: Создание игр | Добавил: Demeron (04 Сентября 2011)
Просмотров: 26590 | Комментарии: 17 | Рейтинг: 4.4/7 |
Теги: gege, движок, для новичков, 2d, C++
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Своя игра за день (часть 1)», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 17
+0-
17 fenixrus   (21 Августа 2013 22:48) [Материал]
запустил твой движок и вот Программа "[6868] Win32Project1.exe" завершилась с кодом -1073741515 (0xc0000135) 'Зависимый DLL-файл не найден'.

+0-
16 Gavolot   (31 Июля 2012 03:06) [Материал]
GavolotЕле инициализировал под CodeBlocks, но так и не понял как создать главное окно. Он мне в консольное окно отписал, что инициализация успешна, но окно почему-то не вывел главное.

+0-
15 Dimon3452   (12 Июня 2012 12:17) [Материал]
Dimon3452Привет! Я новичок!У меня не находит файл <windows.h>! Подскажите что делать?

+0-
11 goldsphere   (03 Июня 2012 15:07) [Материал]
goldsphereДовольно быстрая инициализация - это хорошо!

+0-
9 Zhenek3   (03 Июня 2012 12:15) [Материал]
когда я захожу в Сервис -> Параметры -> Проекты и решения -> Каталоги VC++ у меня там этого нет а просто окно с текстом cry

+0-
10 goldsphere   (03 Июня 2012 14:50) [Материал]
goldsphereУ вас 10 студия?Если да то радо сделать так:
Правой кнопкой жмём на проект ->Cвойства->Открываем вкладку "Компоновщики".Дополнительных зависимости

+0-
12 Zhenek3   (03 Июня 2012 20:13) [Материал]
непонел последнее "Дополнительных зависимости"

+0-
13 goldsphere   (04 Июня 2012 11:23) [Материал]
goldsphereачепятка...
дополнительные зависимости

+0-
14 Zhenek3   (04 Июня 2012 18:46) [Материал]
есть скайп? потомучто я захожу в компоновщик и там нету дополнительые зависимости

+0-
8 Smileback   (25 Ноября 2011 02:38) [Материал]
Smilebackвроде вьехал... но неможет найти файл gege.dll

+0-
7 Smileback   (25 Ноября 2011 02:29) [Материал]
Smilebackребята у меня на английском языке)че делать?)

+0-
5 Alex_Roth   (05 Сентября 2011 16:29) [Материал]
Alex_RothА для чего подключается "windows.h"? Он здесь вроде не нужен.

+-6-
2 zodiak   (05 Сентября 2011 13:37) [Материал]
zodiakЧитаю статью и накатывает дежавю. Где-то я такое видел...
Ёшкин кот, да это же первый урок из Руководства разработчика nilremа к его windmill engine, только переделанный под твой геге.
Не боишься, что он тебя за плагиат в блин раскатает?

+1-
3 AGENTX001   (05 Сентября 2011 15:24) [Материал]
AGENTX001Угу... В таком случае все уроки по game maker - палигат...

+0-
4 Demeron   (05 Сентября 2011 15:43) [Материал]
DemeronНе думаю... Так как я даже ни разу не пользовался WindMill, а его уроки тем более не читал.

+0-
6 nilrem   (09 Сентября 2011 08:58) [Материал]
nilremНу последовательность действий почему-то аутентичная первому уроку из руководства. Даже на скриншотах запечатлены те же моменты.
Правда оно такое же и в моем курсе по С++.
В любом случае никаких претензий у меня пока нет.
Пусть ему претензии авторы HGE предъявляют)

+0-
1 TLT   (04 Сентября 2011 23:12) [Материал]
TLTДобавил бы свой движок в базу.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • RPG Tools
  • OpenSceneGraph
  • Bipsi
  • Eternity
  • Gamvas
  • RPG Architect
  • PuzzleScript
  • CoolBasic
  • Ultra App Kit
  • Grit
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг