---
title: Компонент Tile Map
brief: Данное руководство содержит детали поддержки тайловых карт в Defold.
---
# Компонент Tile Map
*Тайловая карта* --- это компонент, который позволяет собирать, или наносить, тайлы из *Tile Source* на большой сетчатой области. Тайловые карты обычно используются для создания окружения игровых уровней. Также можно использовать *формы столкновений* из источника тайлов в картах для обнаружения столкновений и физических симуляций ([пример](/examples/tilemap/collisions/)).
Прежде чем создавать тайловую карту, необходимо создать Tile Source. Обращайтесь к [руководству по источникам тайлов](/manuals/tilesource), чтобы узнать, как их создавать.
## Создание тайловой карты
Чтобы создать новую тайловую карту:
- Кликните ПКМ в подходящем расположении в браузере *Assets*, затем выберите New... ▸ Tile Map.
- Присвойте файлу имя.
- Новая тайловая карта автоматически откроется в соответствующем редакторе.
{srcset="images/tilemap/tilemap@2x.png 2x"}
- В свойстве *Tile Source* укажите подготовленный источник тайлов.
Чтобы нанести тайлы на тайловую карту:
1. В представлении *Outline* выберите или создайте *слой* для рисования.
2. Выберите тайл для использования его в качестве кисти (нажмите Space чтобы отобразить палитру тайлов)
{srcset="images/tilemap/palette@2x.png 2x"}
3. Нанесите тайлы выбранной кистью. Чтобы стереть тайл, либо выберите пустой тайл и используйте его в качестве кисти, либо выберите ластик (Edit ▸ Select Eraser).
{srcset="images/tilemap/paint_tiles@2x.png 2x"}
Тайлы можно выбирать непосредственно из слоя и использовать выбранное в качестве кисти. Удерживая Shift, кликните по тайлу, чтобы выбрать его в качестве текущей кисти. Удерживая Shift, можно также кликнуть с протяжкой, чтобы выбрать блок плиток для использования в качестве более крупной кисти.
{srcset="images/tilemap/pick_tiles@2x.png 2x"}
## Добавление тайловой карты в игру
Чтобы добавить тайловую карту в игру:
1. Создайте игровой объект для хранения тайловой карты. Игровой объект может находиться в файле или быть создан непосредственно в коллекции.
2. Кликните ПКМ в корне игрового объекта и выберите Add Component File.
3. Выберите файл тайловой карты.
{srcset="images/tilemap/use_tilemap@2x.png 2x"}
## Манипулирование при выполнении
Тайловыми картами можно управлять во время выполнения с помощью ряда различных функций и свойств (обращайтесь к [документации по API](/ref/tilemap/)).
### Смена тайлов из скрипта
Содержимое тайловой карты можно считывать и записывать динамически во время работы игры. Для этого используются функции [`tilemap.get_tile()`](/ref/tilemap/#tilemap.get_tile) и [`tilemap.set_tile()`](/ref/tilemap/#tilemap.set_tile):
```lua
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*
: Режим наложения, используемый при рендеринге тайловой карты.
### Режимы наложения
:[blend-modes](../shared/blend-modes.md)
### Изменение свойств
Тайловая карта имеет ряд различных свойств, которыми можно манипулировать с помощью `go.get()` и `go.set()`:
`tile_source`
: Источник тайлов для тайловой карты (`hash`). Это свойство можно изменять с помощью свойства источника тайлов и `go.set()`. За примером обращайтесь к [справочнику по API](/ref/tilemap/#tile_source).
`material`
: Материал тайловой карты (`hash`). Это свойство можно изменять с помощью свойства материала и `go.set()`. За примером обращайтесь к [справочнику по API](/ref/tilemap/#material).
### Константы материала
{% include shared/material-constants.md component='tilemap' variable='tint' %}
`tint`
: Цветовой оттенок тайловой карты (`vector4`). Для представления оттенка с компонентами x, y, z и w, соответствующими красному, зеленому, синему и альфа оттенкам, используется тип vector4.
## Конфигурация проекта
В файле *game.project* имеются несколько [настроек проекта](/manuals/project-settings#tilemap), относящихся к тайловым картам.