Создание TDS
[ Поделиться ]
[
Спасибо! ]
|
В последнее время многие стремятся создать свою 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='Бластер'}
Вот и все - простенькая TDS создана!
Выкладываю также исходник этого примера - http://depositfiles.com/ru/files/8oy6xpns1|
|
|
HTML ссылка на материал: BB ссылка на материал: |
|
Похожие материалы :
|
Возможно вам будет интересно:
Создание игр на Game Maker: Создание простого арканоида (0) Библиотека STL (0) Переменные в Actionscript 2.0 (0) Несколько советов (ГМ) (0) Создаем вертолет (2) Создание рикошета пуль от стены (4) Создаем танчики (Урок 2) (0) Физика (Blitz 3D) (0) Создание 3D игр на Game Maker (3) Работа с инифайлами (*.ini) (0) Пишем игровой сюжет (10) Самообучение ИИ (1) 3D Rad - система сохранения №1. (0) Переменные в ГМ (0) Молодому игроделу (5) |
| Всего комментариев: 0 | |








Дополнительно:


Спасибо!



