TileMap
Entity 2D карт на основе плитки.
Entity 2D карт на основе плитки.
Entity для карт на основе 2D. TileSet которые содержат список плиток, используемых для создания карт на основе сетки. TileMap может иметь несколько слоев, компоновывая плитки друг на друга.
По причинам эффективности работы все TileMap В конце рамы производится набор данных. Это, в частности, означает, что сцена из плитки TileSetScenesCollectionSource Это очерчено только в том случае, если оно находится внутри сцены.
Чтобы запустить обновление, звоните. TileMap.UpdateInternals.
Примечание: По соображениям эффективности и совместимости координаты, серийные TileMap дальность для координат X и Y от -32768 в адрес 32767. При сохранении данных о плитках плитки, находящиеся за пределами этого диапазона, завернуты.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
TileMapКонструктор
public TileMap();Свойства6
CellQuadrantSizeСвойство
public int CellQuadrantSize { get; set; }:: TileMapКвадрантный размер. Оптимизирует рисование путем пакетирования, используя кусочки такого размера.
CollisionAnimatableСвойство
public bool CollisionAnimatable { get; set; }Если включено, TileMap увидит, что его столкновения синхронизированы с физическим тиком, и изменит тип столкновения со статического на кинематический. Это необходимо для создания движущейся платформы на основе TileMap.
Примечание: Включение TileMap.CollisionAnimatable может оказать небольшое влияние на производительность, делайте это только в том случае, если TileMap движется и имеет сталкивающиеся тайлы.
CollisionVisibilityModeСвойство
public TileMap.VisibilityMode CollisionVisibilityMode { get; set; }Показать или скрыть формы столкновений TileMap. Если установлено значение TileMap.VisibilityMode.Default, это зависит от настроек отладки столкновений.
NavigationVisibilityModeСвойство
public TileMap.VisibilityMode NavigationVisibilityMode { get; set; }Показать или скрыть навигационные сетки TileMap. Если установлено значение TileMap.VisibilityMode.Default, это зависит от настроек отладки навигации показа.
RenderingQuadrantSizeСвойство
public int RenderingQuadrantSize { get; set; }Размер квадранта TileMap. Квадрант — это группа тайлов, которые нужно нарисовать вместе на одном элементе холста в целях оптимизации. TileMap.RenderingQuadrantSize определяет длину стороны квадрата в системе координат карты, которая образует квадрант. Таким образом, размер квадранта по умолчанию группирует вместе 16 * 16 = 256 плиток.
Размер квадранта не применяется к слоям, отсортированным по Y, так как в этом случае тайлы группируются по положению Y.
Примечание: Поскольку квадранты создаются в соответствии с системой координат карты, «квадратная форма» квадранта может не выглядеть как квадрат в локальной системе координат TileMap.
Методы65
AddLayervoid
public void AddLayer(int toPosition);Добавляет слой в указанную позицию to_position в массиве. Если to_position отрицательный, позиция отсчитывается с конца, при этом -1 добавляет слой в конец массива.
| Имя | Тип | По умолчанию |
|---|---|---|
toPosition | int | — |
Clearvoid
public void Clear();Очистка всех ячеек.
ClearLayervoid
public void ClearLayer(int layer);Очищает все ячейки на указанном слое.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
EraseCellvoid
public void EraseCell(int layer, Vector2I coords);Стирает ячейку на слое layer с координатами coords.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
FixInvalidTilesvoid
public void FixInvalidTiles();Очищает ячейки, которых нет в наборе плиток.
ForceUpdatevoid · Устарело
public void ForceUpdate(int layer = -1);Принудительно обновляет TileMap и слой layer.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | -1 |
GetCellAlternativeTileint
public int GetCellAlternativeTile(int layer, Vector2I coords, bool useProxies = false);Возвращает ID альтернативы тайла для ячейки на слое layer по координатам coords.
Если use_proxies равно false, игнорирует прокси тайлов в TileSet, возвращая исходный идентификатор альтернативы. См. TileSet.MapTileProxy.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
useProxies | bool | false |
intGetCellAtlasCoordsVector2I
public Vector2I GetCellAtlasCoords(int layer, Vector2I coords, bool useProxies = false);Возвращает координаты тайла в атласе для ячейки на слое layer с координатами coords. Возвращает Vector2i(-1, -1) если ячейка не существует.
Если use_proxies равно false, игнорирует тайловые прокси TileSet, возвращая исходный идентификатор координат атласа. См. TileSet.MapTileProxy.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
useProxies | bool | false |
Vector2IGetCellSourceIdint
public int GetCellSourceId(int layer, Vector2I coords, bool useProxies = false);Возвращает ID источника тайла для ячейки на слое layer с координатами coords. Возвращает -1, если ячейка не существует.
Если use_proxies равно false, игнорирует прокси тайлов в TileSet, возвращая исходный идентификатор источника. См. TileSet.MapTileProxy.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
useProxies | bool | false |
intGetCellTileDataTileData
public TileData GetCellTileData(int layer, Vector2I coords, bool useProxies = false);Возвращает объект TileData, связанный с заданной ячейкой, или null, если ячейка не существует или не является TileSetAtlasSource.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
Если use_proxies равен false, игнорирует прокси-серверы плиток TileSet. См. TileSet.MapTileProxy.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
useProxies | bool | false |
TileDataGetCollisionVisibilityModeTileMap.VisibilityMode
public TileMap.VisibilityMode GetCollisionVisibilityMode();TileMap.VisibilityModeGetCoordsForBodyRidVector2I
public Vector2I GetCoordsForBodyRid(Rid body);Возвращает координаты тайла для заданного RID физического тела. Такой RID можно получить из KinematicCollision2D.GetColliderRid при столкновении с тайлом.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
Vector2IGetLayerForBodyRidint
public int GetLayerForBodyRid(Rid body);Возвращает слой тайловой карты тайла для заданного физического тела RID. Такой RID может быть получен из KinematicCollision2D.GetColliderRid при столкновении с тайлом.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
intGetLayerModulateColor
public Color GetLayerModulate(int layer);Возвращает модуляцию слоя TileMap.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
ColorGetLayerNamestring
public string GetLayerName(int layer);Возвращает имя слоя TileMap.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
stringGetLayerNavigationMapRid
public Rid GetLayerNavigationMap(int layer);Возвращает Rid навигационной карты NavigationServer2D, назначенной указанному слою TileMap layer.
По умолчанию TileMap использует навигационную карту World2D по умолчанию для первого слоя TileMap. Для каждого дополнительного слоя TileMap создается новая навигационная карта для дополнительного слоя.
Чтобы заставить NavigationAgent2D переключаться между навигационными картами слоя TileMap, используйте NavigationAgent2D.SetNavigationMap с навигационной картой, полученной из TileMap.GetLayerNavigationMap.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
RidGetLayerYSortOriginint
public int GetLayerYSortOrigin(int layer);Возвращает начало сортировки Y слоя TileMap.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
intGetLayerZIndexint
public int GetLayerZIndex(int layer);Возвращает значение Z-индекса слоя TileMap.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
intGetLayersCountint
public int GetLayersCount();Возвращает количество слоев в TileMap.
intGetNavigationMapRid · Устарело
public Rid GetNavigationMap(int layer);Возвращает Rid навигационной карты NavigationServer2D, назначенной указанному слою TileMap layer.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
RidGetNavigationVisibilityModeTileMap.VisibilityMode
public TileMap.VisibilityMode GetNavigationVisibilityMode();TileMap.VisibilityModeGetNeighborCellVector2I
public Vector2I GetNeighborCell(Vector2I coords, TileSet.CellNeighbor neighbor);Возвращает соседнюю ячейку к ячейке с координатами coords, идентифицированной направлением neighbor. Этот метод учитывает различные макеты, которые может принимать TileMap.
| Имя | Тип | По умолчанию |
|---|---|---|
coords | Vector2I | — |
neighbor | TileSet.CellNeighbor | — |
Vector2IGetPatternTileMapPattern
public TileMapPattern GetPattern(int layer, Reckfell.Collections.Array<Vector2I> coordsArray);Создает новый TileMapPattern из указанного слоя и набора ячеек.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coordsArray | Reckfell.Collections.Array<Vector2I> | — |
TileMapPatternGetQuadrantSizeint
public int GetQuadrantSize();intGetRenderingQuadrantSizeint
public int GetRenderingQuadrantSize();intGetSurroundingCellsReckfell.Collections.Array<Vector2I>
public Reckfell.Collections.Array<Vector2I> GetSurroundingCells(Vector2I coords);Возвращает список всех соседних ячеек для ячейки с coords.
| Имя | Тип | По умолчанию |
|---|---|---|
coords | Vector2I | — |
Reckfell.Collections.Array<Vector2I>GetTilesetTileSet
public TileSet GetTileset();TileSetGetUsedCellsReckfell.Collections.Array<Vector2I>
public Reckfell.Collections.Array<Vector2I> GetUsedCells(int layer);Возвращает массив Vector2I с позициями всех ячеек, содержащих тайл в указанном слое. Ячейка считается пустой, если её идентификатор источника равен -1, координаты атласа — Vector2(-1, -1), а альтернативный идентификатор — -1.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
Reckfell.Collections.Array<Vector2I>GetUsedCellsByIdReckfell.Collections.Array<Vector2I>
public Reckfell.Collections.Array<Vector2I> GetUsedCellsById(int layer, int sourceId = -1, Vector2I? atlasCoords = default, int alternativeTile = -1);Возвращает массив Vector2I с позициями всех ячеек, содержащих тайл в указанном слое. Тайлы могут быть отфильтрованы по их источнику (source_id), координатам атласа (atlas_coords) или альтернативному идентификатору (alternative_tile).
Если параметр имеет значение по умолчанию, он не используется для фильтрации ячеек. Таким образом, если все параметры имеют свои значения по умолчанию, этот метод возвращает тот же результат, что и TileMap.GetUsedCells.
Ячейка считается пустой, если её идентификатор источника равен -1, координаты атласа — Vector2(-1, -1), а альтернативный идентификатор — -1.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
sourceId | int | -1 |
atlasCoords | Vector2I? | default |
alternativeTile | int | -1 |
atlasCoordsЕсли параметр не имеет значения, то значение по умолчанию: new Vector2I(-1, -1).
Reckfell.Collections.Array<Vector2I>GetUsedRectRect2I
public Rect2I GetUsedRect();Возвращает прямоугольник, охватывающий используемые (непустые) фрагменты карты, включая все слои.
Rect2IIsCellFlippedHbool
public bool IsCellFlippedH(int layer, Vector2I coords, bool useProxies = false);Возвращает true, если ячейка на слое layer с координатами coords перевернута по горизонтали. Результат действителен только для источников атласа.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
useProxies | bool | false |
boolIsCellFlippedVbool
public bool IsCellFlippedV(int layer, Vector2I coords, bool useProxies = false);Возвращает true, если ячейка на слое layer с координатами coords перевернута вертикально. Результат действителен только для источников атласа.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
useProxies | bool | false |
boolIsCellTransposedbool
public bool IsCellTransposed(int layer, Vector2I coords, bool useProxies = false);Возвращает true, если ячейка на слое layer с координатами coords транспонирована. Результат действителен только для источников атласа.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
useProxies | bool | false |
boolIsCollisionAnimatablebool
public bool IsCollisionAnimatable();boolIsLayerEnabledbool
public bool IsLayerEnabled(int layer);Возвращает, включен ли слой.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
boolIsLayerNavigationEnabledbool
public bool IsLayerNavigationEnabled(int layer);Возвращает значение, если включена генерация встроенных областей навигации слоя.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
boolIsLayerYSortEnabledbool
public bool IsLayerYSortEnabled(int layer);Возвращает, сортирует ли слой свои тайлы по оси Y.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
boolLocalToMapVector2I
public Vector2I LocalToMap(Vector2 localPosition);Возвращает координаты карты ячейки, содержащей заданный local_position. Если local_position находится в глобальных координатах, рассмотрите возможность использования Entity2D.ToLocal перед передачей его этому методу. См. также TileMap.MapToLocal.
| Имя | Тип | По умолчанию |
|---|---|---|
localPosition | Vector2 | — |
Vector2IMapPatternVector2I
public Vector2I MapPattern(Vector2I positionInTilemap, Vector2I coordsInPattern, TileMapPattern pattern);Возвращает соответствующие координаты ячейки для заданной координаты coords_in_pattern в TileMapPattern, если шаблон был вставлен по координатам position_in_tilemap (см. TileMap.SetPattern). Это сопоставление необходимо, потому что для фигур тайлов со смещением на половину простое вычисление position_in_tile_map + coords_in_pattern может не сработать.
| Имя | Тип | По умолчанию |
|---|---|---|
positionInTilemap | Vector2I | — |
coordsInPattern | Vector2I | — |
pattern | TileMapPattern | — |
Vector2IMapToLocalVector2
public Vector2 MapToLocal(Vector2I mapPosition);Возвращает центрированную позицию ячейки в локальном пространстве координат TileMap. Для преобразования возвращаемого значения в глобальные координаты используйте Entity2D.ToGlobal. См. также TileMap.LocalToMap.
Примечание: Это может не соответствовать визуальной позиции тайла, т.е. игнорируется свойство TileData.TextureOrigin отдельных тайлов.
| Имя | Тип | По умолчанию |
|---|---|---|
mapPosition | Vector2I | — |
Vector2MoveLayervoid
public void MoveLayer(int layer, int toPosition);Перемещает слой с индексом layer в заданную позицию to_position в массиве.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
toPosition | int | — |
NotifyRuntimeTileDataUpdatevoid
public void NotifyRuntimeTileDataUpdate(int layer = -1);Уведомляет узел TileMap, который вызывает TileMap._UseTileDataRuntimeUpdate или TileMap._TileDataRuntimeUpdate, что приведет к разным результатам. Таким образом, это вызовет обновление TileMap.
Если указан layer, уведомляет только об изменениях для указанного слоя. Предоставление аргумента layer (когда применимо) обычно предпочтительнее по соображениям производительности.
Предупреждение: Обновление TileMap требует больших вычислительных затрат и может повлиять на производительность. Постарайтесь ограничить количество вызовов этой функции, чтобы избежать ненужного обновления.
Примечание: Это не запускает прямое обновление TileMap, обновление будет выполнено в конце кадра, как обычно (если вы не вызовете TileMap.UpdateInternals).
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | -1 |
RemoveLayervoid
public void RemoveLayer(int layer);Удаляет слой с индексом layer.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
SetCellvoid
public void SetCell(int layer, Vector2I coords, int sourceId = -1, Vector2I? atlasCoords = default, int alternativeTile = 0);Устанавливает идентификаторы тайла для ячейки в слое layer по координатам coords. Каждый тайл TileSet идентифицируется тремя частями:
- Идентификатор источника
source_idопределяет источникTileSetSource. См.TileSet.SetSourceId, - Идентификатор координат атласа
atlas_coordsопределяет координаты тайла в атласе (если источник —TileSetAtlasSource). ДляTileSetScenesCollectionSourceвсегда должно бытьVector2i(0, 0)), - Идентификатор альтернативного тайла
alternative_tileопределяет альтернативу тайла в атласе (если источник —TileSetAtlasSource) или сцену дляTileSetScenesCollectionSource. Еслиsource_idустановлен в-1,atlas_coords— вVector2i(-1, -1)илиalternative_tile— в-1, ячейка стирается. Удалённая ячейка получает все свои идентификаторы автоматически установленными в недействительные значения:-1,Vector2i(-1, -1)и-1. Еслиlayerотрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
sourceId | int | -1 |
atlasCoords | Vector2I? | default |
alternativeTile | int | 0 |
atlasCoordsЕсли параметр не имеет значения, то значение по умолчанию: new Vector2I(-1, -1).
SetCellsTerrainConnectvoid
public void SetCellsTerrainConnect(int layer, Reckfell.Collections.Array<Vector2I> cells, int terrainSet, int terrain, bool ignoreEmptyTerrains = true);Обновляет все ячейки в массиве координат cells, чтобы они использовали заданный terrain для указанного terrain_set. Если обновлённая ячейка имеет тот же террейн, что и соседняя, функция попытается объединить их. При необходимости функция может обновить соседние тайлы для создания корректных переходов между террейнами.
Если ignore_empty_terrains равно true, пустые террейны будут игнорироваться при поиске наиболее подходящего тайла под заданные ограничения террейнов.
Если layer отрицательный, слои перебираются с последнего.
Примечание: Для корректной работы требуется, чтобы TileSet в TileMap имел настроенные террейны со всеми необходимыми комбинациями террейнов. В противном случае могут возникать непредвиденные результаты.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
cells | Reckfell.Collections.Array<Vector2I> | — |
terrainSet | int | — |
terrain | int | — |
ignoreEmptyTerrains | bool | true |
SetCellsTerrainPathvoid
public void SetCellsTerrainPath(int layer, Reckfell.Collections.Array<Vector2I> path, int terrainSet, int terrain, bool ignoreEmptyTerrains = true);Обновляет все ячейки в массиве координат path, чтобы они использовали заданный terrain для указанного terrain_set. Функция также соединит две последовательные ячейки в пути с одинаковым террейном. При необходимости функция может обновить соседние тайлы для создания корректных переходов между террейнами.
Если ignore_empty_terrains равно true, пустые террейны будут игнорироваться при поиске наиболее подходящего тайла под заданные ограничения террейнов.
Если layer отрицательный, слои перебираются с последнего.
Примечание: Для корректной работы требуется, чтобы TileSet в TileMap имел настроенные террейны со всеми необходимыми комбинациями террейнов. В противном случае могут возникать непредвиденные результаты.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
path | Reckfell.Collections.Array<Vector2I> | — |
terrainSet | int | — |
terrain | int | — |
ignoreEmptyTerrains | bool | true |
SetCollisionAnimatablevoid
public void SetCollisionAnimatable(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetCollisionVisibilityModevoid
public void SetCollisionVisibilityMode(TileMap.VisibilityMode collisionVisibilityMode);| Имя | Тип | По умолчанию |
|---|---|---|
collisionVisibilityMode | TileMap.VisibilityMode | — |
SetLayerEnabledvoid
public void SetLayerEnabled(int layer, bool enabled);Включает или отключает слой layer. Отключенный слой вообще не обрабатывается (нет рендеринга, нет физики и т. д.).
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
enabled | bool | — |
SetLayerModulatevoid
public void SetLayerModulate(int layer, Color modulate);Устанавливает цвет слоя. Он будет умножен на цвет тайла и модуляцию TileMap.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
modulate | Color | — |
SetLayerNamevoid
public void SetLayerName(int layer, string name);Задает имя слоя. Это в основном полезно в редакторе.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
name | string | — |
SetLayerNavigationEnabledvoid
public void SetLayerNavigationEnabled(int layer, bool enabled);Включает или отключает встроенную генерацию областей навигации слоя. Отключите это, если вам нужно запекать области навигации из TileMap с использованием узла NavigationRegion2D.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
enabled | bool | — |
SetLayerNavigationMapvoid
public void SetLayerNavigationMap(int layer, Rid map);Назначает map как навигационную карту NavigationServer2D для указанного слоя TileMap layer.
По умолчанию TileMap использует навигационную карту по умолчанию World2D для первого слоя TileMap. Для каждого дополнительного слоя TileMap создается новая навигационная карта для дополнительного слоя.
Чтобы NavigationAgent2D переключался между навигационными картами слоя TileMap, используйте NavigationAgent2D.SetNavigationMap с навигационной картой, полученной из TileMap.GetLayerNavigationMap.
Если layer отрицательный, доступ к слоям осуществляется с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
map | Rid | — |
SetLayerYSortEnabledvoid
public void SetLayerYSortEnabled(int layer, bool ySortEnabled);Включает или выключает сортировку слоя по оси Y. Если слой сортируется по оси Y, он будет вести себя как узел CanvasItem, в котором каждый тайл сортируется по оси Y.
Слои с сортировкой по оси Y обычно должны находиться на разных значениях Z-индекса по сравнению со слоями без сортировки по оси Y, иначе каждый из таких слоев будет сортироваться по оси Y целиком вместе с сортируемым слоем. Обычно это нежелательное поведение.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
ySortEnabled | bool | — |
SetLayerYSortOriginvoid
public void SetLayerYSortOrigin(int layer, int ySortOrigin);Устанавливает значение точки отсчёта сортировки по Y для слоя. Это значение добавляется к точке отсчёта сортировки каждого тайла в слое.
Это позволяет, например, имитировать разную высоту для каждого слоя. Может быть полезно для игр с видом сверху.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
ySortOrigin | int | — |
SetLayerZIndexvoid
public void SetLayerZIndex(int layer, int zIndex);Устанавливает значение Z-индекса слоя. Это значение Z-индекса добавляется к значению Z-индекса каждого тайла.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
zIndex | int | — |
SetNavigationMapvoid · Устарело
public void SetNavigationMap(int layer, Rid map);Назначает map в качестве навигационной карты NavigationServer2D для указанного слоя TileMap layer.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
map | Rid | — |
SetNavigationVisibilityModevoid
public void SetNavigationVisibilityMode(TileMap.VisibilityMode navigationVisibilityMode);| Имя | Тип | По умолчанию |
|---|---|---|
navigationVisibilityMode | TileMap.VisibilityMode | — |
SetPatternvoid
public void SetPattern(int layer, Vector2I position, TileMapPattern pattern);Вставляет заданный TileMapPattern в указанную позицию position и слой layer в tilemap.
Если layer отрицательный, слои перебираются с последнего.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
position | Vector2I | — |
pattern | TileMapPattern | — |
SetQuadrantSizevoid
public void SetQuadrantSize(int quadrantSize);| Имя | Тип | По умолчанию |
|---|---|---|
quadrantSize | int | — |
SetRenderingQuadrantSizevoid
public void SetRenderingQuadrantSize(int size);| Имя | Тип | По умолчанию |
|---|---|---|
size | int | — |
SetTilesetvoid
public void SetTileset(TileSet tileset);| Имя | Тип | По умолчанию |
|---|---|---|
tileset | TileSet | — |
UpdateInternalsvoid
public void UpdateInternals();Запускает прямое обновление TileMap. Обычно вызов этой функции не требуется, так как узел TileMap обновляется автоматически при изменении одного из его свойств или ячеек. Однако по соображениям производительности эти обновления пакетируются и задерживаются до конца кадра. Вызов этой функции заставит TileMap обновиться немедленно. Предупреждение: Обновление TileMap требует больших вычислительных затрат и может повлиять на производительность. Попробуйте ограничить количество обновлений и количество плиток, на которые они влияют.
_TileDataRuntimeUpdatevoid
public virtual void _TileDataRuntimeUpdate(int layer, Vector2I coords, TileData tileData);Вызывается с объектом TileData, который будет использоваться внутри TileMap, что позволяет изменять его во время выполнения.
Этот метод вызывается только в том случае, если реализован TileMap._UseTileDataRuntimeUpdate и возвращает true для заданных плиток coords и layer.
Предупреждение: Подресурсы объекта tile_data такие же, как в TileSet. Их изменение может повлиять на весь TileSet. Вместо этого обязательно дублируйте эти ресурсы.
Примечание: Если свойства объекта tile_data должны со временем измениться, используйте TileMap.NotifyRuntimeTileDataUpdate, чтобы уведомить TileMap о необходимости обновления.
####use_til_data_reuntime update
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
tileData | TileData | — |
_UseTileDataRuntimeUpdatebool
public virtual bool _UseTileDataRuntimeUpdate(int layer, Vector2I coords);Должен возвращать true, если тайл с координатами coords на слое layer требует обновления во время выполнения.
Предупреждение: Убедитесь, что эта функция возвращает true только при необходимости. Любой тайл, обработанный во время выполнения без необходимости, будет означать значительное падение производительности.
Примечание: Если результат этой функции должен измениться, используйте TileMap.NotifyRuntimeTileDataUpdate, чтобы уведомить TileMap о необходимости обновления.
| Имя | Тип | По умолчанию |
|---|---|---|
layer | int | — |
coords | Vector2I | — |
boolСигналы и события1
TileMap.VisibilityMode
| Значение | Описание |
|---|---|
Default = 0 | Используйте настройки отладки для определения видимости. |
ForceHide = 2 | Всегда скрывается. |
ForceShow = 1 | Всегда показывается. |