[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Создание TDS (Создание TDS)
Создание TDS
АДМИНДата: Четверг, 2011/Июл/21, 10:08 | Сообщение # 1
Группа: Администрация
Сообщений: 62
Награды: 6
Репутация: 9
Статус: Offline
В последнее время многие стремятся создать свою TDS, и чаще всего для этих целей выбирают Game Maker.
Я решил посвятить свою очередную статью их созданию (часть совпадает с материалом о создании RPG).
Что должно быть в каждой ТДС? Бегающий туда-сюда герой, увешанный оружием, толпа монстров, с которой сражается маленький беззащитный (почти) человек. Но пока

проопишем необходимые переменные.
oruzhie='Пистолет' (начальное оружие)
pistolet_patron=100 (какое оружие без патронов)
blaster_patron=0
s_blasterom=false (нет бластера!)

Оно обычно такое: поворот с помощью мышки, бегаем на стрелочках/WASD. Чтобы герой мог ходить по диагонали, бег сделаем с помощью прыжков в определенные

координаты. Вот так:
if keyboard_check(vk_right) {x+=4}
if keyboard_check(vk_left) {x-=4}
if keyboard_check(vk_up) {y-=4}
if keyboard_check(vk_down) {y+=4}
Поворачивание за мышкой легко сделать с помощью команды, определяющей направление по отношению к координатам мышки:
image_angle=point_direction(hero.x,hero.y,mouse_x,mouse_y)
Чтобы все было красиво, необходимо центрировать спрайт героя!
Все, движение героя есть. Радуемся и переходим к стрельбе по монстрам.
В Create героя поместите:
babah=15 (это необходимо для перезарядки)
В Step героя:
babah-=1
Создайте объект пули (еще нарисуйте, естественно, саму пулю). В событии глобального нажатия левой кнопки мышки (Global Left Button) пропишите создание пули

в координатах героя:
if babah<=0
{if oruzhie='Пистолет' and pistolet_patron>0 or oruzhie='Бластер' and blaster_patron>0
{instance_create(x,y,pulya) if oruzhie='Пистолет' {pistolet_patron-=1 babah=15} if oruzhie='Бластер' {blaster_patron-=1 babah=30}} }
А у пули в Create:
move_towards_point(mouse_x,mouse_y,25)
Теперь получилось, что герой стреляет. Не из дула, а из своей середины - но, благодаря высокой скорости пули, это незаметно.
Стрельба есть, но врагов нет. Непорядок! Создайте объект какого-нибудь чудовища и перетащите ему в Step кнопку Step Towards Point (координаты -

hero.x,hero.y. Также выберите solid и включите solid самому монстру - чтобы обходил препятствия и таких же, как он сам).
Теперь монстру в Create:
heal=100 (это его здоровье)
В столкновении героя с монстром напишите
health-=1
А в столкновении монстра с пулей:
if hero.oruzhie='Пистолет'heal-=20 (можно больше, для скоростного и кровавого геймплея )
if hero.oruzhie='Бластер'heal-=60

В Step монстра:
if heal<=0 {instance_change(trup,1)}
И создайте объект трупа врага и спрайт этого трупа.
Сам герой умереть тоже должен, пишем ему в Step что-то подобное:
if health<=0 {game_end() show_message('Ты сдох, чувак!')}

Основная часть позади! Но надо еще сделать постоянное нападение врагов и смену оружия.
Сначала враги. Посмотрите на своей игровой карте точки, из которых могли бы выходить монстры (желательно за пределами карты и штуки три), создаем объект без

спрайта и пишем ему в Create
Alarm[0]=30 (можно меньше)
А в событии Alarm 0:
instance_create(координаты вашей первой точки,monstr)
instance_create(координаты вашей второй точки,monstr)
instance_create(координаты вашей третьей точки,monstr)
alarm[0]=30

Теперь монстры постоянно идут из тех точек.
Дальше оружие.
Создаем объект blaster. В столкновении героя с бластером поместим:
blaster_patron+=20 (патроны нашли)
s_blasterom=true (у нас он есть)
oruzhie='Бластер' (автоматически оружие меняется на бластер, для удобства)
Создаем объект пистолета и пишем в столкновении героя с ним примерно так:
pistolet_patron+=40
И, наконец, смена оружия. У героя в нажатии цифры 1:
oruzhie='Пистолет'
А в нажатии 2:
if s_blasterom=true {oruzhie='Бластер'}

http://igrostroy.ucoz.ru/


Создатель сайта!!!!
 
slavamanДата: Понедельник, 2011/Июл/25, 16:02 | Сообщение # 2
Группа: Друзья
Сообщений: 13
Награды: 6
Репутация: 1
Статус: Offline
afro просто супер happy
 
мазефакаДата: Вторник, 2011/Авг/16, 15:15 | Сообщение # 3
Группа: Пользователи
Сообщений: 2
Награды: 0
Репутация: 0
Статус: Offline
а где ето прописовать?
 
АДМИНДата: Среда, 2011/Авг/17, 10:20 | Сообщение # 4
Группа: Администрация
Сообщений: 62
Награды: 6
Репутация: 9
Статус: Offline
это в code (в либах) там выбераешь иконку текста и пишишь текст

Создатель сайта!!!!
 
Rem_ЧернецкийДата: Понедельник, 2011/Окт/10, 16:42 | Сообщение # 5
Группа: Проверенные
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Ты гений!)

Очень люблю двигаться. Иногда я двигаюсь по нескольку раз за день!
 
Форум » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Создание TDS (Создание TDS)
Страница 1 из 11
Поиск: