🏁 Тайловый (повторяющийся) фон в GameMaker
В этом руководстве я на примере покажу, как в сцене GameMaker сделать тайловый фон.
Пример того, как это будет выглядеть.
Шаг первый — Сцена
Я создал для примера сцену размером 320x192 пикселя. Размеры сцены кратный 16 пикселям.
Включил вьюпорты [Enable Viewports].
В настройках камеры [Camera Properties] установил Width — 320px, Height — 192px.
В настройках вьюпорта [Viewport Properties] установил Width — 960px, Height — 576px.
Эти размеры соответсвуют размеру сцены умноженные на 3 (x3).
Шаг второй — Спрайт
Я нарисовал спрайт размером 32x32 пикселя, который состоит из четырёх квадратов,
размером 16x16 пикселей и назвал его s_tile_bg
.
Спрайт:
Шаг третий — Объект
Далле я создал объект o_tiled_bg
с двумя событиями Draw
и Step
.
В событии Draw
рисуем на сцене спрайт используя функцию draw_sprite_tiled()
.
draw_sprite_tiled(sprite, subimg, x, y) — функция принимает в качестве первого аргумента имя спрайта и затем многократно чередует его по всей комнате, начиная с указанных координат.
Код события Draw
:
/// @description Draw tile
draw_sprite_tiled(s_tile_bg, 0, x, y);
Как видишь, в качестве первого аргумента я установил ранее нарисованный спрайт s_tile_bg
.
Второй аргумент указывает на номер изображения, но так как в спрайте у меня одно изображения,
я установил второй аргумент 0
.
Третий и четвёртый аргументы, это координаты на которых мы отрисовываем спрайт.
Для создания эффекта движения спрайта, эти значения должны быть динамические.
В собитии Step
я просто сделал увеличение значений положения объекта.
/// @description Move tile
x += 1;
y += 1;
Готово
Запускаем сцену и наслаждаемся результатом.
Готовый *.yyz
проект можно скачать по этой
ссылке.