Регистрация
Войти
Salikov.Net

Создание TDS на Game Maker кодом #1: Герой

08.08.10

GML (Game Maker Language) - встроенный язык программирование в среде для создания игр Game Maker. Если вы не были знакомы ни с одним языком программирования, GML - для вас. В нём можно изучить основу всех языков, понять как вообще устроены все программы.

Если вы дизайнер, вы наверняка уже умеете обращаться с условными операторами IF ENDIF ELSE - они вам очень пригодятся в программировании.

Собственно, всё описано в официальном мануале, но многие жалуются на то, что там непонятно описано. Итак, я попробую доступно всё рассказать.

Давайте создадим простенькую игру в жанре TDS.

Наша цель: сделать стрелялку с видом сверху, что бы игрок поворачивался за мышкой и стрелял после нажатия левой кнопки мыши.
Создаём объект и комнату. Объект - наш главный герой, которым мы будем управлять. Создаём ему спрайт, нужно что бы он смотрел вправо.

После этого заходим в Step и создаём там скрипт.

Содержание его будет такое:

Code

image_angle=point_direction(x,y,mouse_x,mouse_y)

Что означает:
image_angle - поворот спрайта (угол, вычисляется от 0 до 360).
point_direction(x,y,mouse_x,mouse_y) - точка направления от x,y (координаты текущего объекта) до mouse_x,mouse_y (координаты курсора мыши).

То есть, после этого действия персонаж будет сам поворачиваться за курсором. Попробуйте, запустите игру.

Теперь, нам нужно что бы герой двигался.

Code
if keyboard_check(ord("D")) && place_free(x+2,y) then hspeed=+5
if keyboard_check(ord("A")) && place_free(x-2,y) then hspeed=-5
if keyboard_check(ord("S")) && place_free(x,y+2) then vspeed=+5
if keyboard_check(ord("W")) && place_free(x,y-2) then vspeed=-5

if - условный оператор, означающий если. Пример:
if что-то случилось then что-то случится ещё

keyboard_check(ord("D")) - проверяет, нажата ли клавиша D.
place_free(x+2,y) - проверяет, нет ли твёрдых (см. далее) объектов справа на 2 пикселя от объекта (как бы проверка, нет ли стены, что бы герой не проходил сквозь неё.
hspeed=+5 - двигает объект со скоростью 2 вправо. Если указать минус, влево.
vspeed=+2 - двигает объект так же, но вниз. Если минус, то вверх.

Запомните! Если знак + или - ставить перед равно, то к текущему значению будет приплюсовываться новое, а если после, то просто заменяться.

Теперь создаём собственно саму стену. Создаём объект, даём спрайт и ставим галочку на Solid.

Теперь ставим сам уровень. В room теперь создаём объекты стен и одного игрока.

Продолжение следует...
При копировании статьи обязательно указывать ссылку сюда!

Категория: GML | Просмотров: 1369 | Добавил: TERNOX | Теги: объект, game maker, Создание TDS на Game Maker кодом, tds

Всего комментариев: 7
0  
1 DNK   (16.08.10 12:23)
А когда продолженьице?)

0  
2 DNK   (10.10.10 08:46)
Когда продолжение?! dry

0  
3 КоТ   (27.11.10 20:39)
Ты крут))) А когда будет продолжение?

0  
4 Echo173   (01.02.11 19:05)
Требую продолжения!

0  
5 Umnik   (07.06.11 12:03)
При копировании х у й кто сюда ссылку вставит.

0  
6 VIRUS   (01.01.12 07:05)
Начало нормальное. Но дальше!!!!!!!!!!!! angry

0  
7 Ogulcan   (12.05.12 15:28)
A bit surprsied it seems to simple and yet useful.

Имя *:
Email:
Код *:

Info

Hello, © 2008-2012
Сайт создан в системе uCoz

Social

VK
Facebook
Youtube
Twitter
Google+

Content

Рубрики
Создание игр
Игры
Мнение
Досье
Мышление
UPodcast.ru
​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​