Создание RPG, урок №2 - Разработка игр - Каталог статей - Game Maker
Пятница, 09.12.2016, 16:27
Главная Регистрация 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

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

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



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

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

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

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

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

Мини-чат
300

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

Создание RPG, урок №2
И-так, начнём. Для начала добавим нужные нам спрайты. Сегодня их нам понадобиться всего лишь 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 опыта.

Урок окончен. Всем спасибо. В следующем уроке я научу Вас делать инвентарь.
Категория: Разработка игр | Добавил: FarEastKmS (13.10.2013)
Просмотров: 1188 | Комментарии: 1 | Теги: Создание РПГ | Рейтинг: 2.8/6
Всего комментариев: 1
1 NZkiwi   (31.12.2013 16:11)
NZkiwi диалог не работает даже ошибки не выдаёт просто закрывает и всё

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