Четверг, 16 Августа 2018, 20:44

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [309]
Статьи об общих понятиях связанных с созданием игр.
Программирование [69]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [123]
Статьи о программах для создания игр, уроки и описания.
Софт [27]
Различные программы, в том числе в помощь игроделам.
2D-графика [11]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [10]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [4]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [81]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [63]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Сколько вы уже создали своих игр?
Всего ответов: 16220
Главная » Статьи » Движки и Гейммейкеры

Создание TDS на Game Maker. Урок 1.
Урок 1. Основы создания.
В этом уроке мы рассмотрим, как реализовать ходьбу, поворот за мышью и стрельбу.
Итак, приступим! Создаём спрайт игрока, пули и стены:
s_player
s_bullet
s_wall

P.S: Спрайты должны быть повёрнутыми вправо!

Теперь создадим 3 соответствующих объекта и назначим им только что созданные спрайты:
o_player
o_bullet
o_wall


Далее открываем объект o_player, и в Step пишем код:
Code
image_angle = point_direction(x,y,mouse_x,mouse_y);
if (keyboard_check(ord('W'))) y -= 5; 
if (keyboard_check(ord('S'))) y += 5; 
if (keyboard_check(ord('A'))) x -= 5; 
if (keyboard_check(ord('D'))) x += 5;

Первая строка определяет направление от середины игрока до курсора и присваивает значение к углу поворота спрайта. Вторая строка проверяет нажатие клавиши W, и если условие истина, то смещаем игрока вверх на 5 пикселей. Аналогично с другими проверками, только смещения разные, в зависимости от нажатой клавиши.
P.S: Y- (вверх), Y+ (вниз), X- (влево), X+ (вправо)

Теперь ваш персонаж умеет ходить и поворачиваться в сторону мыши! Можете проверить. Для этого создаёте комнату, поместите туда объект игрока и нажмите на зелёный треугольник для запуска. Работает! Хорошо, теперь давайте создадим препятствия, через которые игрок не мог бы проходить. Откройте раннее созданный объект стены o_wall. Поставьте ему галочку в Solid. Этим вы делаете его "твёрдым". Это нужно для столкновений. Теперь в объекте игрока создайте событие столкновения со стеной и впишите код:

Code
x = xprevious;
y = yprevious;

Что же дают эти 2 команды? Они возвращают объект на предыдущую позицию, благодаря чему не дают ему смещаться дальше. Также расставьте стены по комнате и протестируйте на работоспособность.
Теперь приступим к стрельбе. Нам нужно, чтобы пуля летела по направлению мыши, а также поворачивалась по направлению. Для этого в Create у пули прописываем код:

Code
move_towards_point(mouse_x, mouse_y, 10);
image_angle = direction;

mouse_x - координата мыши по оси X
mouse_y - координата мыши по оси Y
10 - скорость полёта пули
Вторая строка поворачивает спрайт в сторону полёта.

С пулей разобрались. Теперь нужно осуществить стрельбу. Открываем объект игрока, создаём событие Global left pressed и пишем код:
Code
instance_create(x, y, o_bullet); //создаёт объект пули в координатах игрока

Протестируйте игру! Как видите, пули пролетают сквозь стен, это можно легко исправить. В объекте пули создайте событие столкновения со стеной и впишите такой код:
Code
instance_destroy(); //уничтожаем пулю при столкновении с объектом стены

Вот, пожалуй, всё. На этом урок окончен, спасибо за внимание!
Категория: Движки и Гейммейкеры | Добавил: FadeBaker (23 Мая 2011)
Просмотров: 25776 | Комментарии: 16 | Рейтинг: 4.4/15 |
Теги: GML, Game Maker, Поворот за мышью, уроки, ходьба, стрельба, Создание игры, туториал, уроки по Game Maker, TDS
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «Создание TDS на Game Maker. Урок 1.», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 161 2 »
+0-
16 olololoscin   (13 Декабря 2016 21:12)
как прописать код чтоб когда клавиша нажата спрайт менялся

+0-
15 olololoscin   (12 Декабря 2016 21:47)
а как сдеать чтоб пуля вылетала не из головы

+0-
9 musicfuns   (25 Января 2012 18:57)
musicfunsСтатья хороша. У меня вопрос как сделать тёмное освещение в TDS да так что бы игрок светил фонариком?

+-3-
11 FadeBaker   (07 Октября 2012 00:44)
Используй сюрфейсы.

+1-
8 goldsphere   (08 Января 2012 14:40)
goldspherex = xprevious
y = yprevious
Зачем?Можно же легче
speed = 0

+2-
10 Jericho   (16 Августа 2012 20:47)
JerichoТак привычней biggrin

+1-
13 aFriend   (14 Июня 2014 17:21)
тогда будет казаться, что он застревает

+1-
7 GAZ777   (16 Сентября 2011 14:01)
GAZ777Помогите мне кто-нибудь, как сделать так, чтобы при oboim<=0, герой не стрелял? Я в этом деле новичек, так что извините. cry

+1-
14 nenit   (05 Декабря 2014 18:56)
nenitif(oboim>0){instance_create(x, y, o_bullet)} happy

+2-
6 IvanAkulichev   (07 Сентября 2011 21:50)
IvanAkulichevСпасибо огромное помог классная статья

+2-
5 Muzia   (04 Июня 2011 12:41)
Muziaстатья для новичка отличная мне помогло :)[color=green]

+4-
4 KpoJIuk   (25 Мая 2011 14:56)
нормальная такая статья, не больше, не мешьше. вообще это уже традиция. освоил гм - начал клепать статью по созданию ТДС -_-
автор, сделай статью по созданию чего-то интересного, например более-менее годного AI или светового движка. гм же ТДС'ками и платформерами не ограничивается! wink

+1-
12 aFriend   (14 Июня 2014 17:18)
Хотел написать аналогичный пост, но прочитал этот и понял, что лучше поста мне не написать, ты прав.

+3-
3 SlavyanOOs   (25 Мая 2011 11:56)
SlavyanOOsСкриншотов бы, код лучше заливать на pastebin.com.

+4-
2 FadeBaker   (24 Мая 2011 19:39)
Спасибо! В свободное время продолжу!

1-10 11-11
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Xaya Adventure Game Editor
  • Explorations
  • Amp II Game Engine
  • Quest Creator
  • Tululoo HTML5 Game Maker
  • Android FPS Maker
  • Квестер
  • Ogre3D
  • Алгоритм
  • Alternativa3D
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2018 Рейтинг