Skip to content

Documentation / @debuffjp/tilemap / Tilemap

Class: Tilemap ​

Defined in: tilemap.ts:83

A grid of tile layers, tilesets, object layers and a collision grid. Build one in code, or import with fromTiled / fromLDtk. Positions are in pixels (world units); tile coordinates are columns/rows.

Constructors ​

Constructor ​

new Tilemap(options): Tilemap

Defined in: tilemap.ts:109

Parameters ​

options ​

TilemapOptions

Returns ​

Tilemap

Properties ​

collision ​

readonly collision: Uint8Array

Defined in: tilemap.ts:92

One Collision value per cell.


edges ​

edges: object

Defined in: tilemap.ts:96

Which map edges block movement. Default: solid sides, open top and bottom (so bodies can fall into pits).

bottom ​

bottom: boolean = false

left ​

left: boolean = true

right: boolean = true

top ​

top: boolean = false


height ​

readonly height: number

Defined in: tilemap.ts:85


layers ​

readonly layers: TileLayer[] = []

Defined in: tilemap.ts:89


objectLayers ​

readonly objectLayers: Map<string, MapObject[]>

Defined in: tilemap.ts:90


properties ​

properties: Record<string, unknown> = {}

Defined in: tilemap.ts:94

Map-level custom properties.


tileHeight ​

readonly tileHeight: number

Defined in: tilemap.ts:87


tilesets ​

readonly tilesets: Tileset[]

Defined in: tilemap.ts:88


tileWidth ​

readonly tileWidth: number

Defined in: tilemap.ts:86


width ​

readonly width: number

Defined in: tilemap.ts:84

Accessors ​

pixelHeight ​

Get Signature ​

get pixelHeight(): number

Defined in: tilemap.ts:124

Returns ​

number


pixelWidth ​

Get Signature ​

get pixelWidth(): number

Defined in: tilemap.ts:120

Width and height in pixels.

Returns ​

number

Methods ​

addLayer() ​

addLayer(name, init?): TileLayer

Defined in: tilemap.ts:128

Parameters ​

name ​

string

init? ​

Partial<Omit<TileLayer, "name">> = {}

Returns ​

TileLayer


collideFrom() ​

collideFrom(layers, options?): this

Defined in: tilemap.ts:203

Fill the collision grid from tile data: cells in layers whose tile has a truthy solid / oneWay property (or every non-empty cell, with everyTile) become solid / one-way.

Parameters ​

layers ​

readonly string[]

options? ​
everyTile? ​

boolean

Returns ​

this


collisionAt() ​

collisionAt(col, row): Collision

Defined in: tilemap.ts:187

Parameters ​

col ​

number

row ​

number

Returns ​

Collision


draw() ​

draw(draw, options?): void

Defined in: tilemap.ts:228

Draw tile layers. With a camera, only tiles in view are drawn and parallax is applied; call it inside draw.withCamera(camera, ...). Allocation-free per tile.

Parameters ​

draw ​

Draw

options? ​

TileLayerDrawOptions = {}

Returns ​

void


get() ​

get(layer, col, row): number

Defined in: tilemap.ts:163

Tile id (with flags) at a cell, 0 if empty or out of bounds.

Parameters ​

layer ​

string

col ​

number

row ​

number

Returns ​

number


inBounds() ​

inBounds(col, row): boolean

Defined in: tilemap.ts:158

Parameters ​

col ​

number

row ​

number

Returns ​

boolean


layer() ​

layer(name): TileLayer | undefined

Defined in: tilemap.ts:147

Parameters ​

name ​

string

Returns ​

TileLayer | undefined


move() ​

move(body, dx, dy, options?): MoveResult

Defined in: tilemap.ts:218

Move a body through the map with tile collision. See move.

Parameters ​

body ​

Body

dx ​

number

dy ​

number

options? ​

MoveOptions

Returns ​

MoveResult


objects() ​

objects(layer): MapObject[]

Defined in: tilemap.ts:152

Objects in an object layer (spawn points, triggers, entities).

Parameters ​

layer ​

string

Returns ​

MapObject[]


set() ​

set(layer, col, row, id): void

Defined in: tilemap.ts:168

Parameters ​

layer ​

string

col ​

number

row ​

number

id ​

number

Returns ​

void


setCollision() ​

setCollision(col, row, kind): void

Defined in: tilemap.ts:195

Parameters ​

col ​

number

row ​

number

kind ​

Collision

Returns ​

void


tileAt() ​

tileAt(layer, x, y): number

Defined in: tilemap.ts:174

Tile id at a world position.

Parameters ​

layer ​

string

x ​

number

y ​

number

Returns ​

number


tileProperties() ​

tileProperties(id): Record<string, unknown> | undefined

Defined in: tilemap.ts:179

Custom properties of a tile id, from its tileset.

Parameters ​

id ​

number

Returns ​

Record<string, unknown> | undefined