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
Returns
Tilemap
Properties
collision
readonlycollision: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
right:
boolean=true
top
top:
boolean=false
height
readonlyheight:number
Defined in: tilemap.ts:85
layers
readonlylayers:TileLayer[] =[]
Defined in: tilemap.ts:89
objectLayers
readonlyobjectLayers:Map<string,MapObject[]>
Defined in: tilemap.ts:90
properties
properties:
Record<string,unknown> ={}
Defined in: tilemap.ts:94
Map-level custom properties.
tileHeight
readonlytileHeight:number
Defined in: tilemap.ts:87
tilesets
readonlytilesets:Tileset[]
Defined in: tilemap.ts:88
tileWidth
readonlytileWidth:number
Defined in: tilemap.ts:86
width
readonlywidth: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
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
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
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
dx
number
dy
number
options?
Returns
objects()
objects(
layer):MapObject[]
Defined in: tilemap.ts:152
Objects in an object layer (spawn points, triggers, entities).
Parameters
layer
string
Returns
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
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