Воскресенье, 28 Апреля 2024, 02:00

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

Меню сайта
Категории каталога
Создание игр [355]
Статьи об общих понятиях связанных с созданием игр.
Программирование [82]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [145]
Статьи о программах для создания игр, уроки и описания.
Софт [43]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [16]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [161]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [129]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Игры какого типа вы предпочитаете делать?
Всего ответов: 16670
Главная » Статьи » Движки и Гейммейкеры

Создание 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)
Просмотров: 38058 | Комментарии: 18 | Рейтинг: 4.5/20 |
Теги: GML, Game Maker, Поворот за мышью, уроки, ходьба, Стрельба, Создание игры, туториал, уроки по Game Maker, TDS
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

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

Всего комментариев: 181 2 »
+0-
17 Medoed   (05 Июля 2019 13:34) [Материал]
MedoedСкажите пожалуйста , как сделать стрельбу по направлению мышки без поворотов ? .
Тоесть персонаж стреляет туда куда смотрит мышка но не поворачивается за ней

+0-
18 alexgamemaker   (31 Августа 2019 15:32) [Материал]
image_angle = point_direction(x,y,mouse_x,mouse_y);

убери этот код

+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.

1-10 11-12
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Reality Factory
  • LÖVR
  • MANU
  • Eclipse Wold
  • Ursina
  • Orx
  • Fighter Creator
  • SMBX
  • Jet3D
  • Green Elf Game Engine
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг