Поиск по сайту
Авторизация
Меню сайта
Категории
Индустрия видеоигр [7] |
Разработка игр [64] |
Гейм-дизайн и графика [11] |
Сторонние движки и конструкторы [1] |
Прочее [3] |
Уроки по Game Maker [3] |
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 |
Топ игр составлен путем пользовательского голосования.
Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Главная » Статьи » Разработка игр |
Создание РПГ. 3-я часть.
И-так, приступим! Что нам понадобиться: 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). Первые две строки кода отвечают за длину и ширину инвентаря(в клетках), вы можете менять ширину и длину как Вас будет угодно. Третья и четвёртая строки инициализируют двойной цикл. Пятая строка создаёт объекты ячеек по горизонтали и вертикали и записывает индекс каждой ячейки в массив. Надеюсь, все поняли что написал, и этот урок не будет просто непонятным всем монологом 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. | |
Просмотров: 5666 | Комментарии: 5
| Теги: |
Всего комментариев: 5 | ||||
| ||||