Видео: Shadows Tutorial: Game Maker Studio 2 2025
Одна проблема с объектами рисования в GameMaker: Studio, с которой вы можете столкнуться, заключается в том, что тени не имеют тенденций квадратный с жесткими линиями. Следующие процедуры показывают, как создать поверхность для рисования теней для стен.
Чтобы создать новый объект для эффекта «Поверхность», выполните следующие действия:
-
В открывшемся окне «Поверхности» из дерева ресурсов щелкните правой кнопкой мыши «Объекты» и выберите «Создать объект».
Появятся свойства объекта.
-
В поле «Имя» введите obj_Shadow_Surface.
-
В поле Глубина введите -900.
Эта глубина будет нарисовать тень под стеной. Экземпляры так, что вы никогда не увидите эффект тени на самой стене или над ней.
-
Выберите Добавить событие → Создать.
Событие «Создать» появляется в разделе «События».
-
Перетащите действие «Выполнение кода» с вкладки «Управление» в раздел «Действия».
Появится окно кода.
-
В окне кода введите следующее:
surf = -1;
Этот код создает переменную для Surface, но не создает сама Surface.
-
Нажмите зеленую галочку.
Окно кода сохраняется и закрывается.
Вы создадите эффект поверхности в событии Draw, который запускается на каждом шагу игры.
Во-первых, однако, следующая процедура показывает, как удалить эффект поверхности, когда вам это больше не нужно.
-
Из свойств объекта obj_Shadow_Surface выберите Add Event → Other → Room End.
Событие окончания комнаты отображается в разделе «События».
-
Перетащите действие «Выполнение кода» с вкладки «Управление» в раздел «Действия».
Появится окно кода.
-
В окне кода введите следующее:
, если surface_exists (surf) {surface_free (surf);}
-
Нажмите зеленую галочку.
Окно кода сохраняется и закрывается.
Этот код освобождает память, которую использует Surface.
Если память не освобождается, когда поверхность больше не нужна, игра может развить утечку памяти, которая в конечном итоге приведет к краху вашей игры.