Блог ☯

пятница, 31 марта 2017 г.

Как сделать меню и кнопки в Game Maker Studio. Что такое меню и что такое кнопка

Привет. Простой урок о том, как сделать меню в Game Maker Studio. Я предлагаю вам один из методов, не самый лучший, но рабочий. Рассказываю как раньше это делал я.


Мой пример меню из аркады про космос

Базовый вопрос - а что вообще такое кнопка? Ну вообще, любая.

В играх, программах, да и везде.

Кнопка - это такая штука, с которой можно взаимодействовать (нажимать) и которая при взаимодействии что-то будет делать, выполнять какую-то функцию.

Меню состоит из кнопок. Они бывают разные.

Либо кнопка вас перенесёт в другое место, по адресу, тут она не сильно отличается от ссылки на сайтах, вся разница в том, что у кнопки есть картинка.

Кнопка может менять статус чего-то. Например, включать и выключать свет в туалете.

Меню - это как в ресторане, выбор вариантов. Вам салат, стейк или сразу наливать? Меню в играх это некая комната с кнопками. Почти любая игра начинается именно с меню и меню влияет на первое впечатление от игры.

Довольно редко человек не будет играть из-за плохого меню, но первое впечатление плохое и некрасивое меню испортить вполне может.

Итак, в данном случае каждая кнопка это объект со спрайтом, тут я думаю вопросов быть не должно. 

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

CREATE 
block=1
alarm[0]=15
ALARM[0]
block=0
С блокировкой всё. В MOUSE LEFT BUTTON пишем:

Как сделать меню в Game Maker Studio. Что такое меню и что такое кнопка

if ch=1{ // блокировка
if room=room_menu then room_goto(room_ship)
}
Если мы сейчас в комнате room_menu, то переходим в комнату room_ship

Тут я использовал кнопку "PLAY" в двух местах, и просто прописывал как-бы переход далее, в зависимости от комнаты.

Вот так мы и гуляем из комнаты в комнату.

Как переключать статусы? Например как переключить язык?

Блокировку оставляем. А на левую кнопку мышки (или как вы там управляете?) вешаем:
if global.lang=1
if ch=1{
global.lang=2
ch=0
alarm[0]=15
if global.lang=2
if ch=1{
global.lang=1
ch=0
alarm[0]=15
}
Ну например. Тупо как пробка и пол кода - блокировка.

Вообще, есть мнение что блокировок можно избежать, если выбирать вот такое управление:

Как сделать меню в Game Maker Studio. Что такое меню и что такое кнопка

Попробуйте Left Released (или Pressed)

Или-же вообще можно это всё делать не так.

Почитать про другой метод создания кнопок вы можете вот тут:


Главное там тут - переключать 2 штуки. 1 - если надо, спрайт. 2 - переменную.

Тут мы переключаем global.lang - язык. 1 - Русский, 2 - Английский.

Как спрайт переключать? Либо там-же, при нажатии на кнопку, пишем просто новый индекс спрайта (не всегда сработает если выходить / заходить). Либо в STEP пишем:

if global.lang=1 then sprite_index=s_lang_1
if global.lang=2 then sprite_index=s_lang_2

Там мы можем сделать хоть сколько кнопок переключалок чего угодно. Язык, фон, звук (вкл, выкл) и что хотите. Можно и 3 статуса делать, и больше.

На это я завершаю эту статью, надеюсь вам стало понятнее как можно сделать меню в Game Maker Studio, что такое кнопка и что такое меню вообще.

Как всегда, сделал на моём ютуб канале видео по этой теме (подписывайтесь):



Если понравилась статья, ставьте палец вверх, а так-же посмотрите другие мои статьи про создание игр. Есть и более сложные и менее скучные темы