The IsometricMap is a special tile map that provides isometric rendering support to Excalibur

The tileWidth and tileHeight should be the height and width in pixels of the parallelogram of the base of the tile art asset. The tileWidth and tileHeight is not necessarily the same as your graphic pixel width and height.

Please refer to the docs for more details calculating what your tile width and height should be given your art assets.




active: boolean = true

Whether this entity is active, if set to false it will be reclaimed

childrenAdded$: Util.Observable<Entity> = ...
childrenRemoved$: Util.Observable<Entity> = ...

Isometric map ColliderComponent

columns: number

Number of tiles wide

componentAdded$: Util.Observable<AddedComponent> = ...

Observable that keeps track of component add or remove changes on the entity

componentRemoved$: Util.Observable<RemovedComponent> = ...
events: EventEmitter<EntityEvents> = ...

Listen to or emit events for an entity

graphicsOffset: Vector = ...
id: number = ...

The unique identifier for the entity

renderFromTopOfGraphic: boolean = false

Render the tile graphic from the top instead of the bottom

default is false meaning rendering from the bottom

rows: number

Number of tiles high

scene: Scene<unknown> = null

The scene that the entity is in, if any

tileHeight: number

Height of individual tile in pixels

tileWidth: number

Width of individual tile in pixels

tiles: IsometricTile[]

List containing all of the tiles in IsometricMap

Isometric map TransformComponent



  • Internal

    Initializes this entity, meant to be called by the Scene before first update not by users of Excalibur.

    It is not recommended that internal excalibur methods be overridden, do so at your own risk.


    Returns void

  • Adds a component to the entity

    Type Parameters


    • component: T

      Component or Entity to add copy of components from

    • force: boolean = false

      Optionally overwrite any existing components of the same type

    Returns Entity

  • Adds a copy of all the components from another template entity as a "prefab"


    • templateEntity: Entity

      Entity to use as a template

    • force: boolean = false

      Force component replacement if it already exists on the target entity

    Returns Entity

  • Kill the entity, means it will no longer be updated. Kills are deferred to the end of the update. If parented it will be removed from the parent when killed.

    Returns void

  • onInitialize is called before the first update of the entity. This method is meant to be overridden.

    Synonymous with the event handler .on('initialize', (evt) => {...})


    Returns void

  • Safe to override onPostUpdate lifecycle event handler. Synonymous with .on('postupdate', (evt) =>{...})

    onPostUpdate is called directly after an entity is updated.


    • _engine: Engine
    • _delta: number

    Returns void

  • Safe to override onPreUpdate lifecycle event handler. Synonymous with .on('preupdate', (evt) =>{...})

    onPreUpdate is called directly before an entity is updated.


    • _engine: Engine
    • _delta: number

    Returns void

  • Removes a component from the entity, by default removals are deferred to the end of entity update to avoid consistency issues

    Components can be force removed with the force flag, the removal is not deferred and happens immediately

    Type Parameters

    • ComponentOrType extends string | Component<string>


    • componentOrType: ComponentOrType
    • force: boolean = false

    Returns Entity