title: Компонент Tile Map
Тайловая карта --- это компонент, который позволяет собирать, или наносить, тайлы из Tile Source на большой сетчатой области. Тайловые карты обычно используются для создания окружения игровых уровней. Также можно использовать формы столкновений из источника тайлов в картах для обнаружения столкновений и физических симуляций (пример).
Прежде чем создавать тайловую карту, необходимо создать Tile Source. Обращайтесь к руководству по источникам тайлов, чтобы узнать, как их создавать.
Чтобы создать новую тайловую карту:
Чтобы нанести тайлы на тайловую карту:
Тайлы можно выбирать непосредственно из слоя и использовать выбранное в качестве кисти. Удерживая Shift, кликните по тайлу, чтобы выбрать его в качестве текущей кисти. Удерживая Shift, можно также кликнуть с протяжкой, чтобы выбрать блок плиток для использования в качестве более крупной кисти. Также можно вырезать плитки, удерживая Shift+Ctrl, или стереть их, удерживая Shift+Alt.
Для поворота кисти по часовой стрелке используйте Z. Для отражения по горизонтали — X, а для отражения по вертикали — Y.
Чтобы добавить тайловую карту в игру:
Тайловыми картами можно управлять во время выполнения с помощью ряда различных функций и свойств (обращайтесь к документации по API).
Содержимое тайловой карты можно считывать и записывать динамически во время работы игры. Для этого используются функции tilemap.get_tile()
и tilemap.set_tile()
:
local tile = tilemap.get_tile("/level#map", "ground", x, y)
if tile == 2 then
-- Заменить тайл с травой (2) на тайл с опасной ямой (number 4).
tilemap.set_tile("/level#map", "ground", x, y, 4)
end
Помимо свойств Id, Position, Rotation и Scale существуют следующие специфичные для компонента свойства:
Tile Source : Тайловый источник, используемый для тайловой карты.
Material : Материал, используемый для рендеринга тайловой карты.
Blend Mode : Режим наложения, используемый при рендеринге тайловой карты.
Тайловая карта имеет ряд различных свойств, которыми можно манипулировать с помощью go.get()
и go.set()
:
tile_source
: Источник тайлов для тайловой карты (hash
). Это свойство можно изменять с помощью свойства источника тайлов и go.set()
. За примером обращайтесь к справочнику по API.
material
: Материал тайловой карты (hash
). Это свойство можно изменять с помощью свойства материала и go.set()
. За примером обращайтесь к справочнику по API.
{% include shared/material-constants.md component='tilemap' variable='tint' %}
tint
: Цветовой оттенок тайловой карты (vector4
). Для представления оттенка с компонентами x, y, z и w, соответствующими красному, зеленому, синему и альфа оттенкам, используется тип vector4.
В файле game.project имеются несколько настроек проекта, относящихся к тайловым картам.
Существуют внешние редакторы карт и уровней, которые могут экспортировать данные непосредственно в тайловые карты Defold:
Tiled — это известный и широко используемый редактор карт для ортогональных, изометрических и гексагональных карт. Он поддерживает множество функций и может экспортировать напрямую в Defold. Подробнее о том, как экспортировать данные тайлмапа и дополнительную мета-информацию, читайте в блоге пользователя Defold "goeshard".
Tilesetter позволяет автоматически создавать полноценные наборы тайлов из простых базовых плиток и содержит редактор карт, который может экспортировать данные непосредственно в Defold.