TilemapRenderer

El componente TilemapRenderer renderiza un mapa basado en tiles. Usa una imagen de tileset como origen de los tiles individuales, dispuestos según un array de IDs de tile. Usa el Transform de la entidad para la posición. Consulta Renderizado para una visión general.

Cada tile se referencia mediante un ID, donde 0 representa espacio vacío. Los datos de tiles pueden proporcionarse directamente, o rellenarse a partir de un mapa de Tiled con el componente TiledWrapper.

Opciones

OpciónTipoValor por defectoDescripción
tilesetTilesetEl tileset que proporciona los tiles (ver más abajo).
datanumber[][]Array de IDs de tile. 0 es espacio vacío.
chunksChunk[][]Datos de tiles divididos en chunks, para mapas grandes.
widthnumber0Ancho del mapa en tiles.
heightnumber0Alto del mapa en tiles.
tileWidthnumberAncho del tile renderizado.
tileHeightnumberAlto del tile renderizado.
layerstring"Default"La capa de renderizado.
opacitynumber1Opacidad entre 0 y 1.
tintColorstringColor usado para tintar los tiles.
maskColorstringColor de máscara aplicado a los tiles.
maskColorMixnumberOpacidad del color de máscara entre 0 y 1.
smoothbooleanfalseSuaviza los píxeles. No recomendado para pixel art.

Tileset

CampoTipoDescripción
imageHTMLImageElement | stringLa imagen del tileset, o una cadena con la URL/nombre del recurso.
widthnumberAncho del tileset en tiles.
tileWidthnumberAncho del tile en píxeles.
tileHeightnumberAlto del tile en píxeles.
marginVector2Margen opcional (arriba e izquierda) en píxeles.
spacingVector2Espaciado opcional (abajo y derecha) en píxeles.

Ejemplo

import { Transform, TilemapRenderer } from "angry-pixel";

this.entityManager.createEntity([
    new Transform(),
    new TilemapRenderer({
        layer: "Default",
        tileset: {
            image: this.assetManager.getImage("tileset.png"),
            width: 8,
            tileWidth: 16,
            tileHeight: 16,
        },
        data: [1, 2, 3, 4],
        width: 2,
        height: 2,
    }),
]);