Поиск по сайту
Авторизация
Меню сайта
Категории
Индустрия видеоигр [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 |
Топ игр составлен путем пользовательского голосования.
Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;)
Главная » Статьи » Разработка игр |
Создание RPG, урок №2
Для начала нужно сделать регенерацию здоровья игрока. Как это сделать? Сначала добавим новую переменную, назовите её hp_max, значение на 100. Что переменная ограничивалась этим значением, нужно прописать следующий код в Степе игрока: hp>hp_max { hp=hp_max } То есть, если здоровье больше максимального, то оно будет уравниваться к максимальному значению. С этим поняли. Теперь установим регенерацию. В Креате игрока создайте будильник с паузой 50. Затем создаем событие этого будильника.Там запишем такой код: hp+=1 и добавьте там опять таки этот же будильник. Теперь приблизительно раз в 2 секунды здоровье игрока будет пополняться на 1 еденицу. Теперь нужно осуществить переход на следующий уровень. Для этого создаём ещё ону переменную, назовём её xp_max и установите её значение на 100. Затем прописываем в Степе такой код: if global.xp=global.xp_max { global.lvl+=1 global.xp=0 global.xp_max = global.xp_max*2 global.hp_max+=5 } Это значит следующее: Если опыт будет равняться максимальному, то уровень вырастет на еденицу, опыт обнулиться, для перехода на следующий уровень потребуется в два раза больше опыта, максимальное здоровье вырастет на 5 пунктов. Дальше можете написать на сколько вырастут основные характеристики. Переменные мы доделали. Перейдём к созданию ПНЦ. Диалоги Создаём объект, назовите его NPC, присвойте соответствующий спрайт. Теперь запишем такой код в его Степе: if instance_exists(Player) { if point_distance(x, y, Player.x, Player.y) < 96 { instance_change(NPC_1_1,NPC_1) switch show_message_ext("Сюда пишите что говорит НПС", 'Сюда ответ игрока') { case 1: show_message('Сюда текст, который появиться при нажатии кнопки 1'); break; } } } Что это всё значит? Если игрок существует, и расстояние от него к игроку 96 пикселей, то появляется диалог с выбором ответа. Да, и ещё, чтобы не был вечный цикл. Для этого создайте аналогичный объект без кода, пустой, и что бы цикл не начался добавьте строчку кода рядом с начаолм диалога на смену объекта.Переходим к врагам. Ваш первый враг в игре Создаём объект врага, присваиваем соответсвующий спрайт. В Степе пишем: if instance_exists(Player) { if point_distance(x, y, Player.x, Player.y) < 100 { speed=4 move_towards_point(Player.x,Player.y,) } Теперь если игрок существует, и его расстояние от игрока равно 100 пикселям равно 100, он начнёт двигаться к игроку со скоростью 4. Чуть не забыл, в создании мобы запишем: speed=0 Теперь сделаем чтобы у игрока рос уровень, для этого сделаем сначала врагу здоровье, в создании игрока сделайте противнику здоровье в виду другой переменной. Теперь в событии нажатии пробела у игрока пропишите код: with Enemy { if distance_to_object(Player) < 5 { hp-=50 } } Теперь в радиусе 5 пикселей при нажатии пробела у врагов будет отниматься здоровье. Что-бы враг исчезал и добавлялся опыт в Степе у врага запишем: if hp=0 { instance_destroy() xp+=10 } То есть при смерте врага он исчезнет и нам добавиться 10 опыта. Урок окончен. Всем спасибо. В следующем уроке я научу Вас делать инвентарь. | |
Просмотров: 2753 | Комментарии: 1
| Теги: |
Всего комментариев: 1 | |
| |