Как сделать сочетание клавиш в game maker

Добавил пользователь Владимир З.
Обновлено: 05.10.2024

И снова рад приветствовать всех вас на своем канале! В прошлых двух уроках мы с вами создали уровень с кирпичами, биту и мяч. Научили биту двигаться влево и вправо, сделали так, чтобы бита упиралась в стены.

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

Запускаем мяч

С прошлых уроков мы в мяч добавили всего одну строчку кода в событии шага:

Этот код "заставлял" мяч приклеиться к бите и двигаться вместе с ней. Но если мы запустим мяч, то он не сможет летать, так как его x координата будет постоянно привязана к x координате самой биты. По этому давайте введем еще одну переменную, которая будет отвечать за то, стоитли у нас мяч на бите или запущен в полет.

Давайте добавим событие создания (Create) в объекте мяча и объявим в нем переменную:

Это булева переменная. Что это значит? Булева переменная - это та, что может иметь только два значения: true (истина) или false (ложь). Их можно заменить соответственно: 1 (истина) или 0 (ложь).

Я назвал переменную fixed, что значит "зафиксирован", и присвоил ей значение true (истина). Т.е. логически это можно понять как то, что при создании мяча, он зафиксирован. Теперь давайте подправим код в событи шага мяча:

Т.е. мы добавили проверку условия - если мяч зафиксирован, то его координата будет всегда равняться координате самой биты. Если вы запустите сейчас игру, то увидите, что ничего не изменилось. Но эта переменная нам пригодится далее, думаю вы уже сами понимаете для чего. Когда мы запустим мяч, то просто сменим данную переенную на false и тогда код в скобках <> выполянться не будет и соответственно мяч не будет следовать за битой.

Так. Необходимую подготовку мы провели. Теперь давайте подумаем в каких напрявлениях может летать мяч, введем переменную для направления мяча и для каждого из направлений присвоим свое значение. Вроде кажется несколько запутанным, но из рисункуе ниже все поймете:

Этот урок написан специально для новичков, тех, кто еще создаёт свою первую игру.
Начнем с того, что меню в игре много значит. Пользователь, зашедший в меню, может легко получить доступ к настройкам, сохранениям и самой игре, при этом не читая справку и не барабаня по кнопкам методом научного тыка.


(он находится тут: sprites->buttons->button_play). Назовите этот спрайт s_play и нажмите на кнопку "По центру". Нажмите ок. Первый спрайт готов. Мы его видим в меню слева.

Теперь нажмите на этот спрайт правой кнопкой мыши. Появится окошко с функциями. Кликните по функции "дублировать". Появится точно такой же спрайт. Только называться он будет по другому - sprite1. Итак, нажмите "редактировать". Затем нажмите на карандашик в правом верхнем углу. Теперь можем спокойно редактировать спрайт. Наша задача, залить белые участки красным цветом. Главное случайно не закрасить буквы. Иначе вы сами знаете, что выйдет.

Залили все белые участки красным цветом? Хорошо! Теперь сохраняем спрайт, нажав на зелёную галочку. Далее ещё раз на галочку. Выдадим спрайту имя - s_play2. Спросите зачем заливать красным?Читаем дальше.


Он похож на первый спрайт, правда? Но всё же текст там другой. Ладно, продолжим. Назовите этот спрайт - s_quit. Теперь делаем точно такую же операцию, что и со спрайтом s_play. То-есть дублируем его и заливаем красным цветом. Получившийся спрайт называем s_quit2.

Отлично! Мы сделали два спрайта кнопок для меню - играть и выход. Какую кнопку нужно добавить ещё? Конечно информацию об игре(помощь по игре).


Даём ему имя s_info. Затем жмём ок. И опять же дублируем его и заливаем новый спрайт красным цветом. Короче, проводим такую-же операцию, как и со спрайтами s_play и s_quit. Ах да, его имя будет s_info2. Можете радоваться! Вы только что сделали набор нужных спрайтов для меню.

Итак, начинается самое сложное - объекты. Я надеюсь, вы не подумали что мы всё закончили и что осталось разместить объекты на уровне и всё, можно играть? Я надесь, что нет. Хорошо, хватит болтать, приступим к делу.

Создаём объект(если вы не умеете это делать,пишите в комментариях, отвечу). Присваиваем объекту спрайт s_play. Далее создаём событие кликнув по кнопке "добавить событие". Откроется окошко. Кликаем на кнопку "мышь"-->"наведение курсором мыши". Теперь посмотрите на колонку кнопок справа. Нашли?Там такие надписи: move, main1, main2, control и т.д. Нажмите на main1. Вы увидите что картинки изменились. В этих "картинках" найдите рисунок красного пакмэна(Change Sprite). Нажмите на него правой кнопкой мыши. Должно появиться окошко.Нажимаем туда, где стоит курсор на картинке.


Появится список наших спрайтов над которыми мы недавно работали. Выберите в этом списке красную картинку с именем s_play2. Теперь нажмите ок.

Дальше кликаем на "добавить событие". Выбираем - "мышь"-->"покидание курсором мыши". Опять жмём правой кнопкой на пакмэна. В появившемся окне открываем список спрайтов. Выбираем белый спрайт с надписью s_play. Нажмём ок. Снова жмём ок. И очередной раз создаём событие - "мышь"-->"левая нажата".


Нажимаем правой кнопкой мыши на Next Room . Жмем ок. Ура! Мы создали кнопку "играть", которая при нажатии перенесет вас в следующую комнату. Давайте дадим объекту имя o_play.

Теперь надо сделать кнопку "выход".Создаём объект, и сразу, что бы не забыть даём ему имя - o_quit. И сразу понятно что надо присвоить ему спрайт s_quit. Итак, нам надо сделать операции аналогичные тем, что мы проводили с объектом o_play.

Сразу создайте столбец таких же событий что и с предедущим объектом - o_play. Но только в событии левая нажата добавляем немного другое действие - Game End(найти его можно во вкладке Control). Это действие будет выключать игру при нажатии на кнопку. Переходим к "наведение курсором мыши". Добавляем действие с красным пакмэном. Как и в o_play. Ой! Я забыл рассказать что оно делает. Оно изменяет спрайт. То есть при наведении курсором мыши спрайт белой кнопки превращается в спрайт красной кнопки, как во многих играх.

Ладно. Добавляем действие с красным пакмэном. Открываем столбец с перечисленными спрайтами в появившемся окне и в этом столбце нажимаем на спрайт с названием s_quit2. Жмем ок. Давайте обрабатывать событие "покидание курсором мыши". Опять выбираем действие с красным пакмэном. (Ох, я устал от пакмэна уже. ) Появляется окно. В столбце выбираем спрайт с именем s_quit. Жмем ок. Еще раз ок.

Два объекта готовы. Наверное, вам не терпится посмотреть объекты в действии. Но нет игровой информации! Надо сделать.

Снова создаём объект, называем его o_info, присваеваем спрайт s_info и создаём столбец действий, как у объекта o_play и o_quit. В событии "наведение курсором мыши" очередной раз выбираем красного пакмэна, в появившемся окне открываем список спрайтов и выбираем спрайт s_info2. В "покидание курсором мыши" делаем то же самое только выбирайте не s_info2, а s_info. В событии "левая нажата" добавляем действие Show Info (вкладка main2). Теперь жмём ок.

Находим в левом тач-баре окна Game Maker пункт game information. Кликаем по нему дважды. И в окно, которое появилось на экране вписываем всю игровую информацию и помощь. После того как вы это написали, нажмите на галочку, чтобы сохранить текст. Создаём комнату(уровень) .И размещаем там наши объекты(кнопочки).

--> Если вы только-только начали изучать игрострой и еще даже не успели скачать сам Game Maker, предлагаем вам на выбор следующие версии программы:

Если вы не согласны с какой-либо оценкой, примите участие и поставьте свой балл игре. Ваша оценка очень важна для нас ;) -->

Создаём меню

Этот урок написан специально для новичков, тех, кто еще создаёт свою первую игру.
Начнем с того, что меню в игре много значит. Пользователь, зашедший в меню, может легко получить доступ к настройкам, сохранениям и самой игре, при этом не читая справку и не барабаня по кнопкам методом научного тыка.


(он находится тут: sprites->buttons->button_play). Назовите этот спрайт s_play и нажмите на кнопку "По центру". Нажмите ок. Первый спрайт готов. Мы его видим в меню слева.

Теперь нажмите на этот спрайт правой кнопкой мыши. Появится окошко с функциями. Кликните по функции "дублировать". Появится точно такой же спрайт. Только называться он будет по другому - sprite1. Итак, нажмите "редактировать". Затем нажмите на карандашик в правом верхнем углу. Теперь можем спокойно редактировать спрайт. Наша задача, залить белые участки красным цветом. Главное случайно не закрасить буквы. Иначе вы сами знаете, что выйдет.

Залили все белые участки красным цветом? Хорошо! Теперь сохраняем спрайт, нажав на зелёную галочку. Далее ещё раз на галочку. Выдадим спрайту имя - s_play2. Спросите зачем заливать красным?Читаем дальше.


Он похож на первый спрайт, правда? Но всё же текст там другой. Ладно, продолжим. Назовите этот спрайт - s_quit. Теперь делаем точно такую же операцию, что и со спрайтом s_play. То-есть дублируем его и заливаем красным цветом. Получившийся спрайт называем s_quit2.

Отлично! Мы сделали два спрайта кнопок для меню - играть и выход. Какую кнопку нужно добавить ещё? Конечно информацию об игре(помощь по игре).


Даём ему имя s_info. Затем жмём ок. И опять же дублируем его и заливаем новый спрайт красным цветом. Короче, проводим такую-же операцию, как и со спрайтами s_play и s_quit. Ах да, его имя будет s_info2. Можете радоваться! Вы только что сделали набор нужных спрайтов для меню.

Итак, начинается самое сложное - объекты. Я надеюсь, вы не подумали что мы всё закончили и что осталось разместить объекты на уровне и всё, можно играть? Я надесь, что нет. Хорошо, хватит болтать, приступим к делу.

Создаём объект(если вы не умеете это делать,пишите в комментариях, отвечу). Присваиваем объекту спрайт s_play. Далее создаём событие кликнув по кнопке "добавить событие". Откроется окошко. Кликаем на кнопку "мышь"-->"наведение курсором мыши". Теперь посмотрите на колонку кнопок справа. Нашли?Там такие надписи: move, main1, main2, control и т.д. Нажмите на main1. Вы увидите что картинки изменились. В этих "картинках" найдите рисунок красного пакмэна(Change Sprite). Нажмите на него правой кнопкой мыши. Должно появиться окошко.Нажимаем туда, где стоит курсор на картинке.


Появится список наших спрайтов над которыми мы недавно работали. Выберите в этом списке красную картинку с именем s_play2. Теперь нажмите ок.

Дальше кликаем на "добавить событие". Выбираем - "мышь"-->"покидание курсором мыши". Опять жмём правой кнопкой на пакмэна. В появившемся окне открываем список спрайтов. Выбираем белый спрайт с надписью s_play. Нажмём ок. Снова жмём ок. И очередной раз создаём событие - "мышь"-->"левая нажата".


Нажимаем правой кнопкой мыши на Next Room . Жмем ок. Ура! Мы создали кнопку "играть", которая при нажатии перенесет вас в следующую комнату. Давайте дадим объекту имя o_play.

Теперь надо сделать кнопку "выход".Создаём объект, и сразу, что бы не забыть даём ему имя - o_quit. И сразу понятно что надо присвоить ему спрайт s_quit. Итак, нам надо сделать операции аналогичные тем, что мы проводили с объектом o_play.

Сразу создайте столбец таких же событий что и с предедущим объектом - o_play. Но только в событии левая нажата добавляем немного другое действие - Game End(найти его можно во вкладке Control). Это действие будет выключать игру при нажатии на кнопку. Переходим к "наведение курсором мыши". Добавляем действие с красным пакмэном. Как и в o_play. Ой! Я забыл рассказать что оно делает. Оно изменяет спрайт. То есть при наведении курсором мыши спрайт белой кнопки превращается в спрайт красной кнопки, как во многих играх.

Ладно. Добавляем действие с красным пакмэном. Открываем столбец с перечисленными спрайтами в появившемся окне и в этом столбце нажимаем на спрайт с названием s_quit2. Жмем ок. Давайте обрабатывать событие "покидание курсором мыши". Опять выбираем действие с красным пакмэном. (Ох, я устал от пакмэна уже. ) Появляется окно. В столбце выбираем спрайт с именем s_quit. Жмем ок. Еще раз ок.

Два объекта готовы. Наверное, вам не терпится посмотреть объекты в действии. Но нет игровой информации! Надо сделать.

Снова создаём объект, называем его o_info, присваеваем спрайт s_info и создаём столбец действий, как у объекта o_play и o_quit. В событии "наведение курсором мыши" очередной раз выбираем красного пакмэна, в появившемся окне открываем список спрайтов и выбираем спрайт s_info2. В "покидание курсором мыши" делаем то же самое только выбирайте не s_info2, а s_info. В событии "левая нажата" добавляем действие Show Info (вкладка main2). Теперь жмём ок.

Находим в левом тач-баре окна Game Maker пункт game information. Кликаем по нему дважды. И в окно, которое появилось на экране вписываем всю игровую информацию и помощь. После того как вы это написали, нажмите на галочку, чтобы сохранить текст. Создаём комнату(уровень) .И размещаем там наши объекты(кнопочки).

GameMaker: Studio - это полноценный инструмент для разработки игр, в котором представлены редактор уровней, менеджер ресурсов, редактор кода и собственный скриптовый язык, известный как GameMaker Language (GML). Ранние версии GameMaker были очень простыми и многие люди помнят их, как в основном для начинающих - сделать с ними коммерческую игру было бы похоже на шутку. Теперь все изменилось, с несколькими коммерческими успехами, включая некоторые очень нашумевшие игры.

Для кого предназначен движок GameMaker: Studio?

В Master коллекции движка GM:S реализована кроссплатформенная совместимость для настольных компьютеров, HTML5 и мобильных устройств (как для Android, так и для iOS). Кроме того, имеется возможность интеграции системы управления версиями и монетизации (например, реклама и покупки в приложении). Общая стоимость master коллекции составляет около $800 долларов на момент написания этой статьи. Поэтому этот движок идеален для:

  • Любого желающего кто интересуется кроссплатформенной разработкой
  • Инди-команд разработчиков с небольшим бюджетом

Низкий порог вхождения в GM:S возможен благодаря интеграции drag-and-drop интерфейса. Таким образом, это фантастический инструмент для людей с небольшими знаниями программирования в качестве первого опыта; этот интерфейс является отличным способом изучить процесс выполнения программы и некоторую базовую логику.

Благодаря своим возможностям управления, GM:S позволяет разработчикам быстро создавать и запускать очень простые игры, что отлично подходит для игровых джемов и создания игровых прототипов.

Что в нем хорошего

GM:S очень хорош в управлении ресурсами, включением ресурсов в код, обеспечивает легкий способ изменения логики игровых объектов и событийное программирование.

Управление ресурсами

Как только разработчик создал спрайт, добавить его в GM:S можно за несколько кликов. После импорта спрайта, модификации могут быть сделаны уже в GM:S.

Creating a sprite

Создание спрайта.

Интеграция ресурсов в код

После импорта ресурса его свойства (размеры изображения, громкость звукового эффекта и т. д.) могут быть доступны из кода и могут быть назначены игровому объекту. Это делает создание игровых объектов очень простым и отлично подходит для быстрой подготовки и быстрого запуска.

Изменение логики игровых объектов и событийное программирование.

Редактор игровых объектов — это отличное средство обучения, для новичков в разработке игр, и предоставляет удобный способ изменения логики игрового объекта. Как вы можете видеть на этом скриншоте, GM:S позволяет вам писать код для конкретных событий:

Modifiying game object events
Modifiying game object events
Modifiying game object events

Модификация событий игрового объекта.

Для кого это не подойдет?

  • Людям, которые хотят создать полнофункциональную игру, нажатием нескольких кнопок. Для великих игр потребуется время.
  • Для тех, кто хочет разработать следующую грандиозную MMO. Создание сетевых игр является относительно новым направлением для GM:S, и для создания многопользовательских игр есть инструменты получше.
  • Элитные программисты которые требуют, чтобы их язык не мог управлять собственной памятью. GM:S - это не C/C++, и не является конечным языком, ориентированным на производительность. (Нельзя сказать, что производительность здесь плохая, просто C/C++ по-прежнему остается королем этой категории.)

Что в нем плохого

GML не является объектно-ориентированным языком в прямом смысле этого слова. Существуют игровые объекты, у них есть свойства, и можно даже создавать отношения типа родитель-потомок. Однако объекты не имеют методов. Для выполнения операции над объектом, вам нужно будет использовать его идентификатор экземпляра внутри скрипта. Вначале это может вызвать путаницу для тех кто пришел из объектно-ориентированных языков.

GM:S поддерживает 3D, но это не главное. Нет 3D-редактора, отсутствует программа импорта 3D моделей, а код для работы с трехмерной графикой довольно запутан. Если вас интересуют 3D-игры, я рекомендую вам использовать другой инструмент. В будущем 3D может стать более приоритетным для YoYo Games (компании, владеющей GM:S), но на данный момент это явно последнее в списке.

Где я могу получить GameMaker: Studio?

Ниже приведено сравнение различных версий GameMaker, взятых с веб-сайта YoYo Games:

feature compare
feature compare
feature compare

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

Обновление: Бесплатная версия GameMaker: Studio теперь та же, что и стандартная версия! Для получения дополнительной информации см. GameMaker: Studio будет бесплатной.

Стандартная версия отлично подходит для разработчиков одиночек, которые только планируют разработку компьютерных игр; Профессиональная версия идеально подходит для небольшой команды разработчиков планирующих переходить в конечном итоге на кроссплатформенную разработку, поскольку они могут добавлять различные модули с течением времени после получения некоторого дохода; и Master Collection отлично подойдет для небольших команд, которые являются частью созданных студий, и хотели бы использовать кроссплатформенную разработку с самого начала.

GM:S также доступен в Steam, но я бы рекомендовал не покупать его там, так как YoYo Games не знает, что вы его приобрели, и, следовательно обладателям их продукта будет больше хлопот в отделе обслуживания клиентов. Кроме того, они иногда предлагают дешевые апгрейды для тех, у кого уже есть определенная версия GM:S, и они не могут дать то же обновление пользователям купившим в Steam. Кроме того, если вы покупаете у Steam, то необходимо войти в Steam, чтобы запустить GM:S, а это может раздражать.

Обучение GameMaker: Studio

GM:S предлагает два различных способа создавать игры. Первый это так называемый интерфейс Drag and Drop (сокращённо DnD). Он довольно мощный и позволяет создавать сложную логику. Однако, он не такой мощный, как второй вариант: использование языка программирования GameMaker Language (сокращённо GML). GML - это прекрасный язык сценариев, который может делать все, что может делать DND, и многое другое.

Начало работы

После того, как вы загрузили версию движка GM:S которая соответствует вашим потребностям, вам следует ознакомиться с учебными материалами, которые поставляются вместе с GM:S. Их можно найти во вкладке Tutorials после того, как вы откроете GM:S.

В начале уроков будет показано, как использовать drag and drop интерфейс, а более поздние руководства начинают охватывать язык программирования GML. Самое приятное в предложенных уроках - это то, что они фактически добавляют окно к интерфейсу, в котором вы узнаете, как создавать каждую игру, поэтому вам не нужно обращаться к веб-странице - все доступно изложено для вас в GM:S!

Для самого продвинутого обучения можно посмотреть демки на вкладке Demos после запуска GM:S. Они не откроют окно обучения, но они предоставляют доступ ко всему используемому исходному коду, чтобы можно было просматривать его, запускать отладчик и наблюдать за тем, что происходит, так что вы получите хорошее представление как использовать их методы в своих играх.

Руководство


Руководство в программе GM:S

Если вы выполняете поиск как в прилагаемом руководстве, так и в онлайн-руководстве и не можете найти ответы, не бойтесь! На reddit существует большое сообщество /r/gamemaker и есть официальные форумы. Кроме того, имеется отличный сайт полон инди-разработчиков, некоторые из них часто используют GM:S на форумах TIG. Эти сообщества полны полезных людей, поэтому не бойтесь задавать свои вопросы!

Расширения

Если вам не хватает встроенных функций движка GameMaker, не волнуйтесь; он расширяемый! Бесплатная версия не позволяет использовать расширения, но в платной версии это возможно.

Что могут делать расширения?

Расширения добавляют новую функциональность, изначально не предусмотренную YoYo games. Вот некоторые примеры:

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

FX Creator Extension - упрощает создание таких эффектов, как погода, лучи и брызги воды.

Взаимодействие с базами данных с помощью SQL - позволяет вашей игре подключиться к базе данных SQL, получить данные в виде строки, а затем использовать их в игре. Расширение добавляет такие функции, как TestDatabaseConnection и ExecuteSQL так, что вы можете получить данные обратно в виде двух строк кода.

Одно серьезное ограничение - некоторые расширения несовместимы с мобильными платформами.

Где найти расширения

Самые лучшие места, которые я нашел, это официальный сайт ресурсов и неофициальный сайт под названием GMToolbox.

Как их установить

  1. Необходимо загрузить расширение - это должен быть файл .gex .
  2. Щелкните правой кнопкой мыши папку Extensions в GM:S и выберите Add Existing Extension.
  3. Это должно вызвать диалоговое окно, и в правом нижнем углу вы увидите кнопку с надписью Install. Нажмите ее.
  4. Откроется другое диалоговое окно со списком установленных пакетов (возможно, пустым). Справа от этого окна есть кнопка, которая снова с надписью Install. Нажмите ее.
  5. Это открывает еще одно диалоговое окно; перейдите в папку, в которой сохранен файл .gex , щелкните его и нажмите кнопку Open.

Учебные ресурсы

Уроки инди-разработчиков

Список уроков Chevy Ray - Chevy Ray является разработчиком Flash-игрового движка FlashPunk, частый соперник на Ludum Dare и разработчик нескольких классных игр. Он написал несколько уроков по GameMaker, и это подборка тех его материалов, которые он считает лучшими. Уроки охватывают такие темы, как масштабирование вида, оптимизация скорости, параллакс-скроллинг.

Серия уроков Derek Yu's - Derek Yu является членом TIGSource и разработчиком Spelunky. Эта серия уроков для более старой версии GameMaker, но вы по-прежнему можете легко пройти ее. Это полное пошаговое руководство по созданию космической сайд-скроллер стрелялки; по мере создания вы узнаете, как работают игровые объекты, как создавать прокручивающиеся фоны, как создавать спрайт шрифты и множество других замечательных тем. Обязательно к прочтению.

Другие уроки и руководства

Официальные уроки - официальные уроки посвящены созданию нескольких игр разных стилей (некоторые из них 3D-игры, поэтому эти уроки могут быть особенно глубокими, если вы будете использовать GM:S). Кроме того, имеется урок по созданию многопользовательских игр, который, по моему мнению, является одним из лучших в Интернете по изучению создания многопользовательской игры в GM:S.

Я рекомендую их для людей, которые хотят разработать определенный тип игры и желают узнать как разрабатывать игры подобного типа, но если вы ищете урок для начинающих, я рекомендую уроки Derek Yu's.

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

Становимся профессионалом

Несколько GameMaker игр стали коммерчески успешными, и есть много других великолепных GameMaker игр, которые являются прекрасными примерами того, что возможно создать используя GM:S.

Отточеные игры

Spelunky - оригинальная версия Spelunky была создана в GameMaker; более новая XBLA версия и новая ПК-версия игры, нет. Это коммерческий успех, версия, созданная в GameMaker, бесплатная.


A Nation of Wind - эта игра скрытый драгоценный камень и в нее стоит определенно поиграть.


Dustforce - вышла в Steam, это не был огромный коммерческий успех, но тем не менее, это отличная игра!


Коммерческие хиты





Заключение

GameMaker: Studio отлично подходит для новичков и профессионалов. Его великолепный код и функции управления ресурсами, в сочетании с относительно низкой ценой, делают его великолепным игровым движком для небольших команд и независимых разработчиков, обладающих приличным опытом программирования, и его доступность, и событийность, и также система drag-and-drop на основе действий, делает его отличным движком для тех, кто практически не имеет опыта программирования.

Надеюсь, вам понравилось читать этот обзор, и теперь у вас есть хорошая идея, как начать работу с GM:S. Если вы считаете, что я, что-то упустил или вам нужна дополнительная информация, не стесняйтесь, напишите мне в комментариях. Удачи вам на вашем пути разработчика игр!

10 советов и трюков GameMaker Studio 2. Часть 1.

Функции создания экземпляров, такие как instance_create_layer и instance_create_depth - одни из самых основных функций, которые разработчики используют в Game Maker. Но не все знают, что они возвращают идентификатор созданного экземпляра, который можно сохранить в переменную для дальнейшего его использования.

Macros и Enums не нуждаются в вызове для инициализации - достаточно скрипта, в котором хранятся ваши макросы и энумераторы, и они будут загружены в ваш проект.

Для экономии времени вы можете щёлкать средней кнопкой мыши на ресурс или функцию в редакторе кода. GMS2 откроет соответствующий объект или, если это функция, то страницу со справкой.

GMS2 поддерживает тернарные операторы, которые предоставляют элегантный подход к условным выражениям: ? :

Вместо использования оператора if вы можете заносить результат выражения сразу в переменную.

Дельта-синхронизация - это количество микросекунд, прошедших с последнего кадра. К примеру, вы можете связать перемещение с delta_time для обеспечения постоянной скорости движения на всех устройствах, независимо от частоты кадров.

Простой пример, как постепенно поворачивать объект к курсору

Вместо использования операторов if для ограничения значения переменной, вы можете использовать Clamp, что гораздо удобней и умещается в одну строку.

Простой способ для мигания спрайта или текста с заданным интервалом:

В меню Preferences -> Objects вы можете создать шаблон, который будет использоваться по умолчанию для всех новых сценариев и событий. Это может сэкономить вам очень много времени.

Читайте также: