Воскресенье, 22.12.2024, 13:40
Главная Регистрация RSS
Приветствую Вас, Гость
Поиск по сайту
Авторизация

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

Game Maker 8.1
Классика. Идеально подходит для создания простых 2D игр на PC. Требует активации.
Game Maker for Mac
Абсолютно та же программа, но только для пользователей Mac. Требует активации.
Game Maker Studio
Самая новая версия с возможностью кроссплатформенной разработки. Бесплатна.
Топ 5 игр
Агент Green 4.2 / 5.0
FeDo 4.2 / 5.0
To Mars: Sec... 4.2 / 5.0
To Mars+MapE... 3.9 / 5.0
Paintball 3.8 / 5.0

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

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



На сайте: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Разработка игр

Создание РПГ. 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)
Просмотров: 5666 | Комментарии: 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

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