Создание РПГ. 3-я часть. - Разработка игр - Каталог статей - Game Maker
Четверг, 08.12.2016, 03:06
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Файлы и ресурсы
Топ 5 участников
1. BRESS
Репутация: 221
Сообщений на форуме: 3239
2. Gracio001
Репутация: 181
Сообщений на форуме: 1370
3. Xomafok
Репутация: 164
Сообщений на форуме: 947
4. FarEastKmS
Репутация: 125
Сообщений на форуме: 359
5. aHDp
Репутация: 114
Сообщений на форуме: 755
Топ 5 игр
Agent Green 4.6 / 5.0
Wartime 4.3 / 5.0
FeDo 4.0 / 5.0
Adventures: ... 4.0 / 5.0
Secretive ha... 4.0 / 5.0

Топ игр составлен путем пользовательского голосования.

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Статистика



На сайте: 1
Гостей: 1
Пользователей: 0
FarEastKmS
Просмотров страницы:
3381

Рейтинг материала:

Другие работы автора:
- -

Поиск по сайту
Game Maker
Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Войти на сайт

Мини-чат
300

Так как чат открыт для всех, просьба отнестись с уважением к другим посетителям и не писать осознанно посты, оскорбляющие кого-либо, содержащие открытую рекламу/спам. Спасибо за понимание! :)
Опрос
Какой версией Game Maker вы пользуетесь?
Всего ответов: 462
Мы в Вконтакте
Главная » Статьи » Разработка игр

Создание РПГ. 3-я часть.
Всем привет! Сегодня Вы научитесь делать инвентарь! Я знаю два способа как его сделать. Первый - простой, есть все необходимые атрибуты. Второй - навороченный, такой же я примерно использовал в "Age of Kingdoms".
И-так, приступим! Что нам понадобиться:
1. Спрайт предмета, который будет лежать в нашем инвентаре.
2. Спрайт ячейки инвентаря (он должен быть пустым, размером 32*32)
Создадим следующие объекты:
1.inv - объект, в котором создаются ячейки инвентаря.
2.o_case - ячейка. Создаются в объекте "inv".
3.o_fruit - предмет, который мы будем подбирать.
Я дал короткие названия для предметов, поскольку нам очень часто придётся обращаться к этим объектам, и я сделал их названия короткими. Советую вам сделать так же. Процесс создания инвентаря будет описан по стадиям.
1. Откроем объект "inv", создаём событие "Создание", и в нём надо прописать следующий код:
width = 3;
height = 3;
for(i = 0; i < width; i += 1;)
for(j = 0; j < height; j += 1;)
cell[i,j] = instance_create(i*32, j*32, o_case).
Первые две строки кода отвечают за длину и ширину инвентаря(в клетках), вы можете менять ширину и длину как Вас будет угодно. Третья и четвёртая строки инициализируют двойной цикл. Пятая строка создаёт объекты ячеек по горизонтали и вертикали и записывает индекс каждой ячейки в массив. Надеюсь, все поняли что написал, и этот урок не будет просто непонятным всем монологом smile
2. Открываем объект "o_fruit", создаём событие нажатие левой кнопки мыши (не глобальная!). Пропишите там такой код:
for(j = 0; j < inv.height; j += 1;)
{
for(i = 0; i < inv.width; i += 1;)
{
if inv.cell[i,j].sprite_index == s_non
{
inv.cell[i,j].sprite_index = sprite_index;
instance_destroy();
exit;
}
}
}
Здесь код отвечает за подбор предмета и помещения его в первую свободную ячейку инвентаря. Работает это так: если у объекта ячейки спрайт == s_non, значит она свободна, иначе занята. Запускаем цикл, который проверяет все ячейки и создаём условие, которое проверяет все ячейки на наличие предмета, если его нет, то найденной пустой ячейке присваиваем спрайт объекта, на который нажали, уничтожаем этот объект и выходим из цикла. Надеюсь эта часть тоже не стала для Вас непонятным монологом :).
3. Теперь откроем объект "o_case", создадим там следующие события:
"Нажатая кнопка мыши" и "Рисование". В событие "Нажатая кнопка мыши"
запишите следующий код:
if sprite_index == s_fruit
{
health += 10
sprite_index = s_non
}
Теперь, если в клетке инвентаря будет находиться какое-нибудь лечебное снадобье, здоровье игрока поднимется, если он будет его использовать нажатием левой кнопки мыши. Теперь осталось последнее, в событие "Рисование" пишем вот этот код:
draw_set_alpha(0.3); //Устанавливаем прозрачность на 0.3
draw_rectangle(x, y, x+32, y+32, 0);
draw_set_alpha(1); //Устанавливаем прозрачность на 1
draw_rectangle(x, y, x+32, y+32, 1);
draw_sprite_ext(sprite_index, image_index, x, y, 1, 1, image_angle, c_white, 1)
Это отвечает за прорисовку инвентаря. И-так, инвентарь завершён, и закончилась моя серия уроков по созданию RPG. Надеюсь, вас всё было понятно и Вы остались довольны. Если у Вас есть вопросы или вы нашли опечатку или ошибку в тексте, а также если хотите оставить отзыв, пишите в комментариях. Всем спасибо, с вами был
FarEastKmS.
Категория: Разработка игр | Добавил: FarEastKmS (24.11.2013)
Просмотров: 3381 | Комментарии: 5 | Теги: уроки, rpg | Рейтинг: 3.8/5
Всего комментариев: 5
5 BRESS   (23.01.2014 20:55)
BRESS Честно говоря, в некотором смысле GML уродлив. Профессиональные программисты меня поймут. Однако нельзя не отметить, что несмотря на это, он учится довольно просто. Если вы уже до того имели дело с программированием, то на полное освоение этого языка у вас уйдет буквально пара недель с запасом на привыкание к интерфейсу Game Maker. Далее, изредка заглядывая в справку, вы будете спокойно писать игры.

Поэтому я всем рекомендую начинать освоение программирования с Pascal. Он не менее простой, но более "правильный" относительно GML.

4 Xomafok   (24.12.2013 21:56)
Xomafok Мне и без картинок понятно.

2 NZkiwi   (18.12.2013 07:49)
NZkiwi ЧЕТВЁРТЫЙ УРОК!!! ЧЕТВЁРТЫЙ УРОК!!!

3 FarEastKmS   (18.12.2013 14:54)
FarEastKmS Если в принципе найдётся про что... Кто что бы хотел увиддеть в третьем уроке, если он будет?

1 никита   (24.11.2013 18:18)
никита Неплохо, но не хватает картинок.Когда просто текст - читать скучно.А с картинками и понятнее будет smile

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]