Четверг, 21 Ноября 2024, 13:22

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

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

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

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

Всего комментариев: 191 2 »
+0-
19 Timur_121_El_Duderino   (29 Июля 2024 16:44) [Материал]
Timur_121_El_DuderinoПарни, я вставил код в Step но у меня скрипт весь подчеркнут красным, что делать??? :'( blink

+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) [Материал]
Хотел написать аналогичный пост, но прочитал этот и понял, что лучше поста мне не написать, ты прав.

1-10 11-13
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • TDG
  • Platinum Arts Sandbox
  • Scratch
  • Metagam
  • PrBoom-plus
  • Godot
  • Core
  • Golden Realm
  • Ethanon Engine
  • HÖVE
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг