Класс: Phaser.Tilemap
Конструктор
new Tilemap(game, key, tileWidth, tileHeight, width, height)
Создает новый объект Phaser.Tilemap. Карта может быть заполнена данными из файла Tiled JSON или CSV файла.
Tiled — бесплатная программа для создания карт тайлов, доступная по адресу http://www.mapeditor.org
Для этого передайте ключ кэша в качестве первого параметра. При использовании данных Tiled вам нужно только указать ключ.
При использовании данных CSV необходимо указать ключ, а также параметры tileWidth и tileHeight.
Если вы создаёте пустую карту тайлов для последующего заполнения, вы можете либо не указывать никаких параметров, а затем использовать Tilemap.create, либо передать размеры карты и тайлов здесь.
Обратите внимание, что все Tilemap используют базовый размер тайла для расчета размеров, но TilemapLayer может иметь собственный уникальный размер тайла, который переопределяет его.
Карта тайлов отрисовывается на дисплее с помощью TilemapLayer. Она не добавляется непосредственно в список отображения.
Карта может иметь несколько слоёв. Вы можете выполнять операции над данными карты, такие как копирование, вставка, заполнение и перемешивание тайлов.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
game | Phaser.Game | Ссылка на игру, которая в данный момент выполняется. | ||
key | string | <optional> | Ключ данных карты тайлов, хранящихся в кэше. Если вы создаёте пустую карту, либо опустите этот параметр, либо передайте | |
tileWidth | number | <optional> | 32 | Ширина одного тайла карты в пикселях. Необходимо указать при использовании данных CSV. Не требуется, если используются данные карты из Tiled. |
tileHeight | number | <optional> | 32 | Высота одного тайла карты в пикселях. Необходимо указать при использовании данных CSV. Не требуется, если используются данные карты из Tiled. |
width | number | <optional> | 10 | Ширина карты в тайлах. Если карта создаётся из данных Tiled или CSV, указывать не нужно. |
height | number | <optional> | 10 | Высота карты в тайлах. Если карта создаётся из данных Tiled или CSV, указывать не нужно. |
- Исходный код: tilemap/Tilemap.js (Строка 28)
Свойства
- Source code: tilemap/Tilemap.js (Line 176)
- Source code: tilemap/Tilemap.js (Line 194)
- Source code: tilemap/Tilemap.js (Line 188)
- Source code: tilemap/Tilemap.js (Line 200)
- Source code: tilemap/Tilemap.js (Line 182)
- Source code: tilemap/Tilemap.js (Line 206)
- Source code: tilemap/Tilemap.js (Line 125)
- Source code: tilemap/Tilemap.js (Line 130)
- Source code: tilemap/Tilemap.js (Line 145)
- Source code: tilemap/Tilemap.js (Line 150)
- Source code: tilemap/Tilemap.js (Line 140)
- Source code: tilemap/Tilemap.js (Line 75)
- Source code: tilemap/Tilemap.js (Line 33)
- Source code: tilemap/Tilemap.js (Line 55)
- Source code: tilemap/Tilemap.js (Line 95)
- Source code: tilemap/Tilemap.js (Line 110)
- Source code: tilemap/Tilemap.js (Line 135)
- Source code: tilemap/Tilemap.js (Line 38)
- number | string | Phaser.TilemapLayer
- Source code: tilemap/Tilemap.js (Line 1947)
- Source code: tilemap/Tilemap.js (Line 100)
- Source code: tilemap/Tilemap.js (Line 120)
- Source code: tilemap/Tilemap.js (Line 70)
- Source code: tilemap/Tilemap.js (Line 85)
- Source code: tilemap/Tilemap.js (Line 65)
- Source code: tilemap/Tilemap.js (Line 115)
- Source code: tilemap/Tilemap.js (Line 105)
[static] CSV : number
[static] EAST : number
[static] NORTH : number
[static] SOUTH : number
[static] TILED_JSON : number
[static] WEST : number
collideIndexes :array
Массив индексов тайлов, с которыми происходит столкновение.
collision :array
Массив данных столкновения (полилинии и т.д.).
currentLayer : number
Текущий слой.
debugMap :array
Данные карты, используемые только для отладки.
enableDebug : boolean
Если установлено, используется console.log для вывода полезных отладочных данных о создании слоя.
format : number
Формат данных карты, либо Phaser.Tilemap.CSV, либо Phaser.Tilemap.TILED_JSON.
game : Phaser.Game
Ссылка на текущую запущенную игру.
height : number
Высота карты (в тайлах).
heightInPixels : number
Высота карты в пикселях, основанная на высоте * tileHeight.
imagecollections :array
Массив коллекций изображений.
images :array
Массив слоёв изображений Tiled.
key : string
Ключ этих данных карты в Phaser.Cache.
layer : number | string | Phaser.TilemapLayer
Объект текущего слоя.
Type
layers :array
Массив данных слоёв Tilemap.
objects :array
Массив слоёв объектов Tiled.
orientation : string
Ориентация данных карты (как указано в Tiled), обычно 'orthogonal'.
properties : Object
Свойства, специфичные для карты, указанные в Tiled.
tileHeight : number
Базовая высота тайлов на карте (в пикселях).
tiles :array
Супер массив тайлов.
tilesets :array
Массив наборов тайлов.
tileWidth : number
- Исходный код: tilemap/Tilemap.js (Строка 60)
- Исходный код: tilemap/Tilemap.js (Строка 80)
- Исходный код: tilemap/Tilemap.js (Строка 50)
- Исходный код: tilemap/Tilemap.js (Строка 90)
Базовая ширина плиток на карте (в пикселях).
version : number
Версия данных карты (как указано в Tiled, обычно 1).
width : number
Ширина карты (в плитках).
widthInPixels : number
Ширина карты в пикселях, основанная на width * tileWidth.
Общедоступные методы
- Исходный код: tilemap/Tilemap.js (Строка 253)
- Внутреннее:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: tilemap/Tilemap.js (Строка 1073)
- Исходный код: tilemap/Tilemap.js (Строка 1543)
- Исходный код: tilemap/Tilemap.js (Строка 210)
addTilesetImage(tileset, key, tileWidth, tileHeight, tileMargin, tileSpacing, gid) → {Phaser.Tileset}
Добавляет изображение в карту для использования в качестве набора плиток. Одна карта может использовать несколько наборов плиток.
Обратите внимание, что имя набора плиток можно найти в файле JSON, экспортированном из Tiled, или в редакторе Tiled.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
tileset | string | Имя набора плиток, как указано в данных карты. | ||
key | string | Phaser.BitmapData | <optional> | Ключ изображения Phaser.Cache, используемого для этого набора плиток. | |
tileWidth | number | <optional> | 32 | Ширина плиток в изображении набора плиток. Если не указано, используется значение map.tileWidth, если оно не задано, то 32. |
tileHeight | number | <optional> | 32 | Высота плиток в изображении набора плиток. Если не указано, используется значение map.tileHeight, если оно не задано, то 32. |
tileMargin | number | <optional> | 0 | Ширина плиток в изображении набора плиток. |
tileSpacing | number | <optional> | 0 | Высота плиток в изображении набора плиток. |
gid | number | <optional> | 0 | При добавлении нескольких наборов плиток в пустую/динамическую карту, укажите здесь начальный GID, который будет использоваться набором. |
Возвращаемое значение
Возвращает объект Tileset, который был создан или обновлён, или null, если произошла ошибка.
<internal> calculateFaces(layer)
Внутренняя функция.
Параметры
| Имя | Тип | Описание |
|---|---|---|
layer | number | Индекс TilemapLayer, на котором необходимо выполнить операцию. |
copy(x, y, width, height, layer) → {array}
Копирует все плитки в заданном прямоугольном блоке в буфер данных карты плиток.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | integer | Позиция X левого верхнего угла области для копирования (в плитках, а не пикселях) | |
y | integer | Позиция Y левого верхнего угла области для копирования (в плитках, а не пикселях) | |
width | integer | Ширина области для копирования (в плитках, а не пикселях) | |
height | integer | Высота области для копирования (в плитках, а не пикселях) | |
layer | integer | string | Phaser.TilemapLayer | <optional> | Слой для копирования плиток. |
Возвращаемое значение
Массив скопированных плиток.
create(name, width, height, tileWidth, tileHeight, group) → {Phaser.TilemapLayer}
Создаёт пустую карту заданных размеров и один пустой слой. Если слои уже существуют, они удаляются.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
name | string | Имя стандартного слоя карты. | |
width | number | Ширина карты в плитках. | |
height | number | Высота карты в плитках. | |
tileWidth | number | Ширина плиток, используемых картой для расчётов. | |
tileHeight | number | Высота плиток, используемых картой для расчётов. | |
group | Phaser.Group | <optional> | Необязательная группа, к которой добавить слой. Если не указана, слой будет добавлен к группе World. |
Возвращаемое значение
Объект TilemapLayer. Это расширение Phaser.Image и может быть перемещено по списку отображения соответственно.
createBlankLayer(name, width, height, tileWidth, tileHeight, group) → {Phaser.TilemapLayer}
Создаёт новый и пустой слой на этой карте плиток. По умолчанию TilemapLayers закреплены за камерой.
Параметры
- Исходный код: tilemap/Tilemap.js (Строка 635)
- Исходный код: tilemap/Tilemap.js (Строка 378)
- Исходный код: tilemap/Tilemap.js (Строка 467)
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
name | string | Имя этого слоя. Должно быть уникальным в пределах карты. | |
width | число | Ширина слоя в тайлах. | |
height | число | Высота слоя в тайлах. | |
tileWidth | число | Ширина тайлов, используемых слоем для вычислений. | |
tileHeight | число | Высота тайлов, используемых слоем для вычислений. | |
group | Phaser.Group | <опционально> | Опциональный Group для добавления слоя. Если не указан, он будет добавлен в группу World. |
Возвращаемое значение
Объект TilemapLayer. Это расширение Phaser.Image и может перемещаться по списку отображения соответственно.
createFromObjects(name, gid, key, frame, exists, autoCull, group, CustomClass, adjustY)
Создает Sprite для каждого объекта, соответствующего заданному gid в данных карты. Вы можете необязательно указать группу, в которой будет создан Sprite. Если не указано, он будет создан в World. Все свойства из объекта map data objectgroup копируются в Sprite, поэтому это удобный способ
настроить свойства Sprite из редактора карт. Например, присвоение свойству объекта alpha: 0.5 в редакторе карты продублирует его при создании
Sprite. Вы также можете задать значение, например: body.velocity.x: 100, чтобы установить автоматическое движение.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
name | string | Имя группы Object для создания Sprites. | ||
gid | число | Индекс массива слоёв, или, если задана строка, имя слоя в данных карты. | ||
key | string | Ключ Game.cache изображения, которое будет использоваться этим Sprite. | ||
frame | число | string | <опционально> | Если изображение Sprite содержит несколько кадров, вы можете указать, какой из них использовать здесь. | |
exists | boolean | <опционально> | true | Состояние существования Sprite по умолчанию. |
autoCull | boolean | <опционально> | false | Состояние autoCull Sprite по умолчанию. Sprites, которые autoCulled, удаляются из камеры, если находятся за её пределами. |
group | Phaser.Group | <опционально> | Phaser.World | Группа, к которой добавить Sprite. Если не указана, она будет добавлена в группу World. |
CustomClass | объект | <опционально> | Phaser.Sprite | Если вы хотите создать свой собственный класс, а не Phaser.Sprite, передайте его здесь. Ваш класс должен расширять Phaser.Sprite и иметь те же параметры конструктора. |
adjustY | boolean | <опционально> | true | По умолчанию редактор карт Tiled использует систему координат в нижнем левом углу. Phaser использует верхний левый. Поэтому большинство объектов будут отображаться слишком низко. Этот параметр перемещает их вверх на их высоту. |
createFromTiles(tiles, replacements, key, layer, group, properties) → {целое число}
Создает Sprite для каждого объекта, соответствующего заданным индексам тайлов в данных карты.
Вы можете указать группу, в которой будет создан Sprite. Если не указана, он будет создан в World.
Вы можете необязательно указать, будет ли тайл заменён другим после создания Sprite. Это полезно, если вы хотите разместить особые
тайлы в уровне, которые преобразуются в Sprites, но хотите заменить сам тайл на тайл пола или что-то подобное после преобразования.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
tiles | целое число | Массив | Индекс тайла или массив индексов для создания Sprites. | ||
replacements | целое число | Массив | Индекс тайла или массив индексов, на которые будет заменён преобразованный тайл. Установите | ||
key | string | Ключ Game.cache изображения, которое будет использоваться этим Sprite. | ||
layer | число | строка | Phaser.TilemapLayer | <опционально> | Слой для работы. | |
group | Phaser.Group | <опционально> | Phaser.World | Группа, к которой добавить Sprite. Если не указана, она будет добавлена в группу World. |
properties | объект | <опционально> | Объект, содержащий свойства по умолчанию для вновь созданного Sprite. Этот объект будет перебираться, и любое соответствующее свойство Sprite будет установлено. |
Возвращаемое значение
Количество созданных Sprites.
createLayer(layer, width, height, group) → {Phaser.TilemapLayer}
Создает новый объект TilemapLayer. По умолчанию TilemapLayers привязаны к камере.
Параметр layer важен. Если вы создали свою карту в Tiled, вы можете получить его, посмотрев в Tiled и посмотрев имя слоя.
Или вы можете открыть экспортированный JSON-файл и посмотреть значение layers[].name. В любом случае оно должно совпадать.
Если вы хотите создать пустой слой, чтобы разместить свои тайлы, см. Tilemap.createBlankLayer.
Параметры
- Исходный код: tilemap/Tilemap.js (Строка 561)
- Исходный код: tilemap/Tilemap.js (Строка 1929)
- Исходный код: tilemap/Tilemap.js (Строка 1888)
- Исходный код: tilemap/Tilemap.js (Строка 1845)
- Исходный код: tilemap/Tilemap.js (Строка 1694)
- Исходный код: tilemap/Tilemap.js (Строка 766)
- Внутренний:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Исходный код: tilemap/Tilemap.js (Строка 717)
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
layer | число | строка | Значение индекса массива слоёв, или имя слоя (если передана строка), в данных карты, которые представляет этот TilemapLayer. | |
width | число | <необязательно> | Отображаемая ширина слоя, не должна быть больше Game.width. Если не указана, будет установлена равной Game.width. |
height | число | <необязательно> | Отображаемая высота слоя, не должна быть больше Game.height. Если не указана, будет установлена равной Game.height. |
group | Phaser.Group | <необязательно> | Необязательная группа, в которую нужно добавить объект. Если не указана, будет добавлена в группу World. |
Возвращаемое значение
Объект TilemapLayer. Это расширение Phaser.Sprite и его можно перемещать по списку отображения.
destroy()
Удаляет все данные слоя из этой карты плиток и обнуляет ссылку на игру.
Примечание: Вы несете ответственность за удаление любых объектов TilemapLayer, которые вы создали самостоятельно, так как Tilemap не хранит на них ссылку.
dump()
Выводит данные карты плиток в консоль.
fill(index, x, y, width, height, layer)
Заполняет заданную область указанной плиткой.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
index | число | Индекс плитки, которой будет заполнена область. | |
x | число | Позиция X левого верхнего угла области для обработки, указанная в плитках, а не пикселях. | |
y | число | Позиция Y левого верхнего угла области для обработки, указанная в плитках, а не пикселях. | |
width | число | Ширина области для обработки в плитках. | |
height | число | Высота области для обработки в плитках. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для обработки. |
forEach(callback, context, x, y, width, height, layer)
Для каждой плитки в заданной области, определённой x/y и width/height, выполняет заданный callback.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
callback | число | Callback. Каждая плитка в данной области будет передана в этот callback в качестве первого и единственного параметра. | |
context | число | Контекст, в котором должен быть выполнен callback. | |
x | число | Позиция X левого верхнего угла области для обработки, указанная в плитках, а не пикселях. | |
y | число | Позиция Y левого верхнего угла области для обработки, указанная в плитках, а не пикселях. | |
width | число | Ширина области для обработки в плитках. | |
height | число | Высота области для обработки в плитках. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для обработки. |
getImageIndex(name) → {число}
Возвращает индекс изображения по его имени.
Параметры
| Имя | Тип | Описание |
|---|---|---|
name | строка | Имя изображения для получения. |
Возвращаемое значение
Индекс изображения в этой карте плиток, или null, если не найдено.
<внутренний> getIndex(location, name) → {число}
Возвращает индекс слоя по имени слоя.
Параметры
| Имя | Тип | Описание |
|---|---|---|
location | массив | Локальный массив для поиска. |
name | строка | Имя элемента массива для получения. |
Возвращаемое значение
Индекс элемента в массиве, или null, если не найден.
<внутренний> getLayer(layer) → {число}
Возвращает индекс TilemapLayer, используемый в вызовах setCollision.
Параметры
| Имя | Тип | Описание |
|---|---|---|
layer | число | строка | Phaser.TilemapLayer | Слой для обработки. Если не указан, по умолчанию используется this.currentLayer. |
Возвращаемое значение
Индекс TilemapLayer.
- Внутренний:
- Этот член является внутренним (protected) и может быть изменен или удален в будущем.
- Исходный код: tilemap/Tilemap.js (Строка 1017)
- Исходный код: tilemap/Tilemap.js (Строка 740)
- Исходный код: tilemap/Tilemap.js (Строка 1476)
- Исходный код: tilemap/Tilemap.js (Строка 1143)
- Исходный код: tilemap/Tilemap.js (Строка 1163)
- Исходный код: tilemap/Tilemap.js (Строка 1183)
- Исходный код: tilemap/Tilemap.js (Строка 1203)
- Исходный код: tilemap/Tilemap.js (Строка 753)
getLayerIndex(name) → {number}
Получает индекс слоя по его имени.
Параметры
| Имя | Тип | Описание |
|---|---|---|
name | string | Имя слоя, который нужно получить. |
Возвращает
Индекс слоя в этой карте тайлов или null, если слой не найден.
getTile(x, y, layer, nonNull) → {Phaser.Tile}
Получает тайл из слоя Tilemap. Координаты задаются в значениях тайлов.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
x | number | Позиция X, из которой нужно получить тайл (задается в единицах тайлов, а не пикселях) | ||
y | number | Позиция Y, из которой нужно получить тайл (задается в единицах тайлов, а не пикселях) | ||
layer | number | string | Phaser.TilemapLayer | <optional> | Слой, из которого нужно получить тайл. | |
nonNull | boolean | <optional> | false | Если true, getTile не вернет null для пустых тайлов, а объект Tile с индексом -1. |
Возвращает
Тайл по заданным координатам или null, если тайл не найден или координаты неверны.
getTileAbove(layer, x, y)
Получает тайл над заданными координатами тайла.
В основном используется как внутренняя функция calculateFaces.
Параметры
| Имя | Тип | Описание |
|---|---|---|
layer | number | Локальный индекс слоя, из которого нужно получить тайл. Может быть определен с помощью Tilemap.getLayer(). |
x | number | Координата x, из которой нужно получить тайл. В тайлах, а не пикселях. |
y | number | Координата y, из которой нужно получить тайл. В тайлах, а не пикселях. |
getTileBelow(layer, x, y)
Получает тайл под заданными координатами тайла.
В основном используется как внутренняя функция calculateFaces.
Параметры
| Имя | Тип | Описание |
|---|---|---|
layer | number | Локальный индекс слоя, из которого нужно получить тайл. Может быть определен с помощью Tilemap.getLayer(). |
x | number | Координата x, из которой нужно получить тайл. В тайлах, а не пикселях. |
y | number | Координата y, из которой нужно получить тайл. В тайлах, а не пикселях. |
getTileLeft(layer, x, y)
Получает тайл слева от заданных координат тайла.
В основном используется как внутренняя функция calculateFaces.
Параметры
| Имя | Тип | Описание |
|---|---|---|
layer | number | Локальный индекс слоя, из которого нужно получить тайл. Может быть определен с помощью Tilemap.getLayer(). |
x | number | Координата x, из которой нужно получить тайл. В тайлах, а не пикселях. |
y | number | Координата y, из которой нужно получить тайл. В тайлах, а не пикселях. |
getTileRight(layer, x, y)
Получает тайл справа от заданных координат тайла.
В основном используется как внутренняя функция calculateFaces.
Параметры
| Имя | Тип | Описание |
|---|---|---|
layer | number | Локальный индекс слоя, из которого нужно получить тайл. Может быть определен с помощью Tilemap.getLayer(). |
x | number | Координата x, из которой нужно получить тайл. В тайлах, а не пикселях. |
y | number | Координата y, из которой нужно получить тайл. В тайлах, а не пикселях. |
getTilesetIndex(name) → {number}
Получает индекс набора тайлов по его имени.
Параметры
| Имя | Тип | Описание |
|---|---|---|
name | string | Имя набора тайлов, который нужно получить. |
Возвращает
Индекс набора тайлов в этой карте тайлов или null, если набор не найден.
getTileWorldXY(x, y, tileWidth, tileHeight, layer, nonNull) → {Phaser.Tile}
Получает тайл из слоя Tilemap. Координаты задаются в значениях пикселей.
Параметры
- Исходный код: tilemap/Tilemap.js (Строка 1517)
- Исходный код: tilemap/Tilemap.js (Строка 1240)
- Исходный код: tilemap/Tilemap.js (Строка 1605)
- Исходный код: tilemap/Tilemap.js (Строка 1315)
- Исходный код: tilemap/Tilemap.js (Строка 1386)
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
x | число | Позиция X для получения плитки (в пикселях) | ||
y | число | Позиция Y для получения плитки (в пикселях) | ||
tileWidth | число | <необязательно> | Ширина плиток. Если не указана, используется значение по умолчанию карты. | |
tileHeight | число | <необязательно> | Высота плиток. Если не указана, используется значение по умолчанию карты. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для получения плитки. | |
nonNull | логическое значение | <необязательно> | false | Если true, getTile не вернёт null для пустых плиток, а объект Tile с индексом -1. |
Возвращает
Плитка в заданных координатах.
hasTile(x, y, layer) → {boolean}
Проверяет наличие плитки в заданном месте.
Параметры
| Имя | Тип | Описание |
|---|---|---|
x | число | Позиция X для проверки наличия плитки (в единицах плитки, а не пикселей) |
y | число | Позиция Y для проверки наличия плитки (в единицах плитки, а не пикселей) |
layer | число | строка | Phaser.TilemapLayer | Слой, который нужно установить текущим. |
Возвращает
True, если плитка есть в заданном месте, иначе false.
paste(x, y, tileblock, layer)
Вставляет ранее скопированный блок данных плитки в заданные координаты x/y. Данные должны быть подготовлены с помощью Tilemap.copy.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | число | Позиция X левого верхнего угла области вставки (в единицах плитки, а не пикселях) | |
y | число | Позиция Y левого верхнего угла области вставки (в единицах плитки, а не пикселях) | |
tileblock | массив | Блок плиток для вставки. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой, в который нужно вставить плитки. |
putTile(tile, x, y, layer) → {Phaser.Tile}
Устанавливает плитку с заданным индексом в указанные координаты.
Если вы передаёте null в качестве плитки, ваш вызов будет перенаправлен на Tilemap.removeTile вместо этого.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
tile | Phaser.Tile | число | null | Индекс устанавливаемой плитки или объект Phaser.Tile. Если null, плитка удаляется с карты. | |
x | число | Позиция X для размещения плитки (в единицах плитки, а не пикселях) | |
y | число | Позиция Y для размещения плитки (в единицах плитки, а не пикселях) | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой, который нужно изменить. |
Возвращает
Объект Tile, который был создан или добавлен к этой карте.
putTileWorldXY(tile, x, y, tileWidth, tileHeight, layer) → {Phaser.Tile}
Размещает плитку на слое Tilemap. Координаты задаются в пикселях.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
tile | Phaser.Tile | число | Индекс устанавливаемой плитки или объект Phaser.Tile. | |
x | число | Позиция X для вставки плитки (в пикселях) | |
y | число | Позиция Y для вставки плитки (в пикселях) | |
tileWidth | число | Ширина плитки в пикселях. | |
tileHeight | число | Высота плитки в пикселях. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой, который нужно изменить. |
Возвращает
Объект Tile, который был создан или добавлен к этой карте.
random(x, y, width, height, layer)
Случайным образом изменяет набор плиток в заданной области.
Параметры
- Исходный код: tilemap/Tilemap.js (Строка 1758)
- Исходный код: tilemap/Tilemap.js (Строка 1876)
- Исходный код: tilemap/Tilemap.js (Строка 1262)
- Исходный код: tilemap/Tilemap.js (Строка 1293)
- Исходный код: tilemap/Tilemap.js (Строка 1723)
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | число | Позиция X левого верхнего угла области, над которой производится операция, заданная в тайлах, а не пикселях. | |
y | число | Позиция Y левого верхнего угла области, над которой производится операция, заданная в тайлах, а не пикселях. | |
width | число | Ширина области, над которой производится операция, в тайлах. | |
height | число | Высота области, над которой производится операция, в тайлах. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой, над которым производится операция. |
removeAllLayers()
Удаляет все слои из этой карты тайлов.
removeTile(x, y, layer) → {Phaser.Tile}
Удаляет тайл, расположенный по заданным координатам, и обновляет данные о столкновении.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | число | Позиция X для размещения тайла (задана в единицах тайла, а не пикселях) | |
y | число | Позиция Y для размещения тайла (задана в единицах тайла, а не пикселях) | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для изменения. |
Возвращает
Объект Tile, который был удален из этой карты.
removeTileWorldXY(x, y, tileWidth, tileHeight, layer) → {Phaser.Tile}
Удаляет тайл, расположенный по заданным координатам, и обновляет данные о столкновении. Координаты задаются в пикселях.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | число | Позиция X для вставки тайла (задана в пикселях) | |
y | число | Позиция Y для вставки тайла (задана в пикселях) | |
tileWidth | число | Ширина тайла в пикселях. | |
tileHeight | число | Высота тайла в пикселях. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для изменения. |
Возвращает
Объект Tile, который был удален из этой карты.
replace(source, dest, x, y, width, height, layer)
Ищет в заданной области тайлы с индексом, совпадающим с source, и обновляет их индекс, чтобы он совпадал с dest.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
source | число | Значение индекса тайла для поиска. | |
dest | число | Значение индекса тайла, которым будут заменены найденные тайлы. | |
x | число | Позиция X левого верхнего угла области, над которой производится операция, заданная в тайлах, а не пикселях. | |
y | число | Позиция Y левого верхнего угла области, над которой производится операция, заданная в тайлах, а не пикселях. | |
width | число | Ширина области, над которой производится операция, в тайлах. | |
height | число | Высота области, над которой производится операция, в тайлах. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой, над которым производится операция. |
searchTileIndex(index, skip, reverse, layer) → {Phaser.Tile}
Ищет на всем слое карты первый тайл, соответствующий заданному индексу, и возвращает объект Phaser.Tile.
Если совпадение не найдено, возвращается null.
Поиск начинается с тайла в верхнем левом углу и продолжается по горизонтали до конца строки, затем переходит к следующему столбцу.
Если булево значение reverse равно true, поиск выполняется, начиная с нижнего правого угла и продолжается вверх до верхнего левого угла.
Параметры
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
index | число | Значение индекса тайла для поиска. | ||
skip | число | <необязательно> | 0 | Количество пропусков совпадающих тайлов перед возвратом. |
reverse | число | <необязательно> | false | Если true, слой будет просматриваться в обратном порядке, начиная с нижнего правого угла. В противном случае просмотр начинается с верхнего левого угла. |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для получения тайла. |
Возвращает
Первый (или n-ый пропущенный) тайл с соответствующим индексом.
- Source code: tilemap/Tilemap.js (Line 1409)
- Source code: tilemap/Tilemap.js (Line 842)
- Source code: tilemap/Tilemap.js (Line 880)
- Source code: tilemap/Tilemap.js (Line 917)
- Внутренний:
- Этот член является внутренним (защищённым) и может быть изменён или удалён в будущем.
- Source code: tilemap/Tilemap.js (Line 951)
- Source code: tilemap/Tilemap.js (Line 1223)
setCollision(indexes, collides, layer, recalculate)
Устанавливает коллизию для заданного тайла или тайлов. Можно передать либо одно числовое значение индекса, либо массив индексов: [ 2, 3, 15, 20].
Параметр collides управляет включением (true) или выключением (false) коллизии.
Parameters
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
indexes | number | array | Либо индекс одного тайла, либо массив идентификаторов тайлов, которые будут проверяться на коллизию. | ||
collides | boolean | <optional> | true | Если true, коллизия будет включена. Если false, коллизия будет отключена. |
layer | number | string | Phaser.TilemapLayer | <optional> | Слой, на котором нужно выполнить операцию. Если не указан, используется this.currentLayer. | |
recalculate | boolean | <optional> | true | Пересчитывает грани тайлов после обновления. |
setCollisionBetween(start, stop, collides, layer, recalculate)
Устанавливает коллизию на диапазон тайлов, где ID тайлов увеличиваются последовательно.
Вызов с начальным значением 10 и конечным 14 установит коллизию для тайлов 10, 11, 12, 13 и 14.
Параметр collides управляет включением (true) или выключением (false) коллизии.
Parameters
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
start | number | Первый индекс тайла, для которого устанавливается коллизия. | ||
stop | number | Последний индекс тайла, для которого устанавливается коллизия. | ||
collides | boolean | <optional> | true | Если true, коллизия будет включена. Если false, коллизия будет отключена. |
layer | number | string | Phaser.TilemapLayer | <optional> | Слой, на котором нужно выполнить операцию. Если не указан, используется this.currentLayer. | |
recalculate | boolean | <optional> | true | Пересчитывает грани тайлов после обновления. |
setCollisionByExclusion(indexes, collides, layer, recalculate)
Устанавливает коллизию для всех тайлов в заданном слое, за исключением ID тех, которые указаны в массиве.
Параметр collides управляет включением (true) или выключением (false) коллизии.
Parameters
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
indexes | array | Массив ID тайлов, которые не учитываются для коллизии. | ||
collides | boolean | <optional> | true | Если true, коллизия будет включена. Если false, коллизия будет отключена. |
layer | number | string | Phaser.TilemapLayer | <optional> | Слой, на котором нужно выполнить операцию. Если не указан, используется this.currentLayer. | |
recalculate | boolean | <optional> | true | Пересчитывает грани тайлов после обновления. |
<internal> setCollisionByIndex(index, collides, layer, recalculate)
Устанавливает значения коллизии для тайла в наборе.
Обычно этот метод вызывать не нужно, вместо этого используйте setCollision, setCollisionBetween или setCollisionByExclusion.
Parameters
| Имя | Тип | Аргумент | Значение по умолчанию | Описание |
|---|---|---|---|---|
index | number | Индекс тайла на слое. | ||
collides | boolean | <optional> | true | Если true, коллизия для тайла включена. Если false, значения коллизии для тайла очищаются. |
layer | number | <optional> | Слой, на котором нужно выполнить операцию. Если не указан, используется this.currentLayer. | |
recalculate | boolean | <optional> | true | Пересчитывает грани тайлов после обновления. |
setLayer(layer)
Устанавливает текущий слой в заданный индекс.
Parameters
| Имя | Тип | Описание |
|---|---|---|
layer | number | string | Phaser.TilemapLayer | Слой, который нужно установить в качестве текущего. |
setPreventRecalculate(value)
Отключает/включает пересчёт граней для тайлов или обновлений коллизии.setPreventRecalculate(true) приостанавливает пересчёт, в то время как setPreventRecalculate(false) пересчитывает все изменённые слои.
Parameters
| Имя | Тип | Описание |
|---|---|---|
value | boolean | Если true, пересчёт будет приостановлен. |
- Исходный код: tilemap/Tilemap.js (Строка 1044)
- Исходный код: tilemap/Tilemap.js (Строка 779)
- Исходный код: tilemap/Tilemap.js (Строка 810)
- Исходный код: tilemap/Tilemap.js (Строка 237)
- Исходный код: tilemap/Tilemap.js (Строка 1803)
- Исходный код: tilemap/Tilemap.js (Строка 1640)
setTileIndexCallback(индексы, обратный_вызов, контекст_обратного_вызова, слой)
Устанавливает глобальный обратный вызов для столкновений для данного индекса тайла в слое. Это повлияет на все тайлы в этом слое, имеющие тот же индекс.
Если для индекса тайла уже установлен обратный вызов, он будет заменён. Установите обратный вызов в значение null, чтобы его удалить.
Если вы хотите установить обратный вызов для тайла в определённом месте на карте, см. setTileLocationCallback.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
indexes | число | массив | Либо один индекс тайла, либо массив индексов тайлов, для которых должен быть установлен обратный вызов для столкновений. | |
callback | функция | Обратный вызов, который будет вызван при столкновении с тайлом. | |
callbackContext | объект | Контекст, в котором вызывается обратный вызов. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для обработки. Если не указан, по умолчанию используется this.currentLayer. |
setTileLocationCallback(x, y, ширина, высота, обратный_вызов, контекст_обратного_вызова, слой)
Устанавливает глобальный обратный вызов для столкновений для данного расположения на карте в слое. Это повлияет на все тайлы в этом слое, находящиеся в данной области.
Если для индекса тайла уже установлен обратный вызов, он будет заменён. Установите обратный вызов в значение null, чтобы его удалить.
Если вы хотите установить обратный вызов для тайла в определённом месте на карте, см. setTileLocationCallback.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | число | Позиция X левого верхнего угла области для копирования (указано в тайлах, а не в пикселях) | |
y | число | Позиция Y левого верхнего угла области для копирования (указано в тайлах, а не в пикселях) | |
width | число | Ширина области для копирования (указано в тайлах, а не в пикселях) | |
height | число | Высота области для копирования (указано в тайлах, а не в пикселях) | |
callback | функция | Обратный вызов, который будет вызван при столкновении с тайлом. | |
callbackContext | объект | Контекст, в котором вызывается обратный вызов. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Слой для обработки. Если не указан, по умолчанию используется this.currentLayer. |
setTileSize(ширина_тайла, высота_тайла)
Устанавливает базовый размер тайла для карты.
Параметры
| Имя | Тип | Описание |
|---|---|---|
tileWidth | число | Ширина тайлов, используемых картой для расчётов. |
tileHeight | число | Высота тайлов, используемых картой для расчётов. |
shuffle(x, y, ширина, высота, слой)
Перемешивает набор тайлов в заданной области. Он будет случайным образом перемешивать только тайлы в этой области, поэтому, если они все одинаковые, ничего не изменится!
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
x | число | Позиция X левого верхнего угла области для обработки, указанная в тайлах, а не в пикселях. | |
y | число | Позиция Y левого верхнего угла области для обработки, указанная в тайлах, а не в пикселях. | |
width | число | Ширина области для обработки в тайлах. | |
height | число | Высота области для обработки в тайлах. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Обрабатываемый слой. |
swap(тайлA, тайлB, x, y, ширина, высота, слой)
Сканирует заданную область на предмет тайлов с индексом, соответствующим тайлA, и меняет их местами с тайлB.
Параметры
| Имя | Тип | Аргумент | Описание |
|---|---|---|---|
tileA | число | Первый индекс тайла. | |
tileB | число | Второй индекс тайла. | |
x | число | Позиция X левого верхнего угла области для обработки, указанная в тайлах, а не в пикселях. | |
y | число | Позиция Y левого верхнего угла области для обработки, указанная в тайлах, а не в пикселях. | |
width | число | Ширина области для обработки в тайлах. | |
height | число | Высота области для обработки в тайлах. | |
layer | число | строка | Phaser.TilemapLayer | <необязательно> | Обрабатываемый слой. |
© 2016 Richard Davey, Photon Storm Ltd.
Licensed under the MIT License.
http://phaser.io/docs/2.6.2/Phaser.Tilemap.html