Tilemaps
Las capas de tilemap colocan en una cuadrícula tiles de su propio tileset. Los tiles se numeran desde 1 (0 es el tile vacío). (19 funciones)
app.addTilemapLayer(name?, tileWidth, tileHeight, parentId?, tilesetLayerId?) — modifica, deshacible
Crea una capa de tilemap nueva con un tileset vacío de tiles de tileWidth x tileHeight encima de todas las demás capas (o de las capas del grupo parentId) y la activa. Usa app.addTilemapTile para añadirle tiles. Con tilesetLayerId la capa comparte el tileset de esa capa: editar, añadir o quitar tiles afecta a ambas.
name(string, opcional) — Nombre de la capa; por defecto 'Tilemap N'.tileWidth(number)tileHeight(number)parentId(string, opcional) — Un grupo al que añadirla (encima de sus capas); omitido = el nivel superior.tilesetLayerId(string, opcional) — Comparte el tileset de esta capa de tilemap existente en lugar de crear uno nuevo (entonces se ignoran tileWidth y tileHeight).
Devuelve (string): El id de la nueva capa de tilemap.
app.addTilemapTile(layerId, pixels?) — modifica, deshacible
Añade un tile al final del tileset de una capa de tilemap y devuelve su índice de tile (desde 1; 0 es el tile vacío implícito). Lanza un error si layerId no es una capa de tilemap.
layerId(string)pixels(table, opcional) — Búfer plano de píxeles (RGBA = 4 números por píxel, indexado = 1) del tamaño del tile; omítelo para un tile transparente.
Devuelve (number): El índice del nuevo tile, desde 1.
app.clearTilemapTile(layerId, tileIndex) — modifica, deshacible, se rechaza en una capa bloqueada
Vuelve un tile totalmente transparente. Todas sus colocaciones quedan en blanco.
layerId(string)tileIndex(number) — Índice del tile, desde 1.
No devuelve nada.
app.convertToNormalLayer(layerId) — modifica, deshacible, se rechaza en una capa bloqueada
Convierte una capa de tilemap en una capa de imagen, rasterizando sus colocaciones de tiles en una celda de cada fotograma (Capa > Convertir en capa normal). La capa conserva su id. Un solo paso de deshacer.
layerId(string) — Una capa de tilemap.
No devuelve nada.
app.convertToTilemap(layerId, tileWidth, tileHeight, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Convierte una capa de imagen en una capa de tilemap con un tileset nuevo de tiles de tileWidth x tileHeight cortados de sus celdas en cada fotograma (Capa > Convertir en tilemap). La capa conserva su id; sus celdas pasan a ser colocaciones de tiles. Un solo paso de deshacer.
layerId(string) — Una capa de imagen (no el Fondo).tileWidth(number)tileHeight(number)opts(table, opcional)dedupe(boolean; predeterminado true) — Comparte los tiles idénticos.matchFlips(boolean; predeterminado false) — Comparte también los tiles que coinciden volteados o girados 90 grados (y activa las opciones de coincidencia del tileset).
No devuelve nada.
app.duplicateTilemapTile(layerId, tileIndex) — modifica, deshacible
Añade una copia de un tile al final del tileset de una capa de tilemap (su índice es la cantidad anterior de tiles + 1).
layerId(string)tileIndex(number) — Índice del tile a copiar, desde 1.
Devuelve (number): El índice de la copia, desde 1.
app.fillTiles(layerId, frameId, col, row, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Bote de tiles: rellena con un tile las celdas que contienen el mismo tile que la celda (col, row) (una celda vacía es el tile 0), exactamente como el bote de pintura de la interfaz en el modo Colocar tiles. El relleno se queda dentro de la cuadrícula de tiles del lienzo.
layerId(string) — Una capa de tilemap.frameId(string)col(number) — La columna de la cuadrícula de tiles donde se hizo clic (no un píxel del sprite).row(number) — La fila de la cuadrícula de tiles donde se hizo clic.opts(table, opcional) También acepta Opciones de colocación (véase "Grupos de opciones"), y además:contiguous(boolean; predeterminado context.bucketFillMode (true para el modo contiguo del contexto, false para el global)) — Solo las celdas conectadas (true), o todas las celdas que contienen el tile de la celda pulsada (false).tileIndex(integer ≥ 1; predeterminado context.tileIndex) — El tile con el que rellenar, desde 1.flipH(boolean; predeterminado context.tileFlipH) — Voltea horizontalmente los tiles colocados.flipV(boolean; predeterminado context.tileFlipV) — Voltea verticalmente los tiles colocados.rotate90(boolean; predeterminado context.tileRotate90) — Gira los tiles colocados 90° en sentido horario (solo tiles cuadrados).
No devuelve nada.
app.getTilemap(layerId, frameId) — lee
Las colocaciones de tiles de una capa de tilemap en un fotograma como { x, y (celda de la cuadrícula de tiles), tileIndex, flipH, flipV, rotate90 }, la forma que toma app.setTilemapInstances. Los fotogramas vinculados informan de sus colocaciones compartidas.
layerId(string) — Una capa de tilemap.frameId(string)
Devuelve (table): Arreglo de tablas de colocación.
app.getTilePixels(layerId, tileIndex) — lee
La imagen de un tile como lista RGBA plana (tileWidthtileHeight4, por filas; los colores de paleta se resuelven en los sprites indexados).
layerId(string) — Una capa de tilemap.tileIndex(number) — Tile, desde 1.
Devuelve (table): Lista RGBA plana.
app.getTileset(layerId) — lee
El tileset de una capa de tilemap como { tileWidth, tileHeight, tileCount, matchFlipH, matchFlipV, matchRotate, baseIndex, name?, id? } (los indicadores match son las opciones de Auto-paint, ver app.setTilesetMatch; baseIndex es el número con el que se muestra el primer tile, ver app.setTilesetProperties; id aparece cuando varias capas comparten el tileset, e ids iguales significan el mismo tileset). Los tiles se numeran 1..tileCount (0 = el tile vacío).
layerId(string) — Una capa de tilemap.
Devuelve (table): Tabla del tileset.
app.importTilesFromImage(layerId, width, height, pixels, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Corta una imagen en el tileset de la capa en celdas de tileWidth x tileHeight (las celdas del borde se rellenan con transparencia), añadiendo los tiles que aún no tiene. Con frameId también coloca el resultado en ese fotograma. Un solo paso de deshacer.
layerId(string) — Una capa de tilemap.width(number) — Ancho de la imagen en píxeles.height(number) — Alto de la imagen en píxeles.pixels(table) — Números RGBA planos (4 por píxel, width*height píxeles).opts(table, opcional)dedupe(boolean; predeterminado true) — Reutiliza los tiles idénticos en lugar de añadir duplicados.matchFlips(boolean; predeterminado false) — Con dedupe: reutiliza también un tile que coincide volteado horizontal o verticalmente, o girado 90 grados (tiles cuadrados), colocándolo con los indicadores correspondientes.skipEmpty(boolean; predeterminado true) — Las celdas sin ningún píxel visible no generan tile.frameId(string) — Coloca también las celdas cortadas en este fotograma de la capa, reemplazando las celdas que cubre la imagen.col(integer; predeterminado 0) — Columna de tiles del borde izquierdo de la imagen al colocarla.row(integer; predeterminado 0) — Fila de tiles del borde superior de la imagen al colocarla.
Devuelve (number): Cuántos tiles se añadieron.
app.moveTilemapTile(layerId, from, to) — modifica, deshacible
Mueve un tile a una nueva posición en el tileset, reasignando todas las colocaciones para que visualmente nada cambie.
layerId(string)from(number) — Índice actual del tile, desde 1.to(number) — Índice del tile después del movimiento, desde 1.
No devuelve nada.
app.paintTilemapPixels(layerId, frameId, x, y, width, height, pixels, mode) — modifica, deshacible, se rechaza en una capa bloqueada
Pinta píxeles en coordenadas del lienzo sobre una capa de tilemap, escribiendo a través del volteo/giro de cada colocación de tile. Un solo paso de deshacer.
layerId(string)frameId(string)x(number) — Borde izquierdo de la región escrita, en coordenadas del lienzo.y(number) — Borde superior de la región escrita, en coordenadas del lienzo.width(number)height(number)pixels(table) — Números RGBA planos (4 por píxel, width*height píxeles); alfa 0 borra.mode(TilePaintMode: "edit" | "auto") — "edit" cambia los tiles que las celdas ya usan (se actualizan todas las colocaciones); "auto" trabaja por celda pintada como Auto de Aseprite: reutiliza un tile idéntico (o uno volteado/girado, según app.setTilesetMatch); si no, un tile copiado al escribir o nuevo, y luego quita los tiles que la edición dejó sin usar.
No devuelve nada.
app.removeTilemapTile(layerId, tileIndex) — modifica, deshacible, se rechaza en una capa bloqueada
Elimina un tile del tileset de una capa de tilemap. Sus colocaciones se borran; las colocaciones de los tiles con número mayor bajan una posición para seguir mostrando la misma imagen (exactamente como Eliminar del panel del tileset).
layerId(string) — Una capa de tilemap.tileIndex(number) — El tile a eliminar, desde 1.
No devuelve nada.
app.setTilemapInstances(layerId, frameId, instances) — modifica, deshacible, se rechaza en una capa bloqueada
Reemplaza las colocaciones de tiles de una capa de tilemap en un fotograma. x/y son coordenadas de la cuadrícula de tiles. Lanza un error si layerId no es una capa de tilemap.
layerId(string)frameId(string)instances(table) — Arreglo de tablas {x, y, tileIndex, flipH, flipV, rotate90} que reemplazan las colocaciones de este fotograma; vacío las borra.
No devuelve nada.
app.setTilemapTilePixels(layerId, tileIndex, pixels) — modifica, deshacible, se rechaza en una capa bloqueada
Reemplaza los píxeles de un tile de una capa de tilemap. Todas las colocaciones de ese tile (todos los fotogramas, con cualquier volteo/giro) se actualizan al instante. Lanza un error si layerId, el índice o la longitud de pixels no son válidos.
layerId(string)tileIndex(number)pixels(table) — Búfer plano de píxeles (RGBA = 4 números por píxel, indexado = 1) del tamaño del tile.
No devuelve nada.
app.setTilesetMatch(layerId, flipH, flipV, rotate) — modifica, deshacible
Establece las opciones de coincidencia de volteos ("match flips") del tileset: al pintar un tilemap en modo "auto", los píxeles nuevos iguales a un tile existente volteado/girado reutilizan ese tile con los indicadores de colocación activados, en lugar de crear un tile.
layerId(string) — Una capa de tilemap.flipH(boolean) — Coincide con tiles volteados horizontalmente.flipV(boolean) — Coincide con tiles volteados verticalmente.rotate(boolean) — Coincide con tiles girados 90 grados (solo tiles cuadrados).
No devuelve nada.
app.setTilesetProperties(layerId, name?, baseIndex?) — modifica, deshacible
Establece el nombre y el Índice base de un tileset. El índice base solo cambia cómo se numeran los tiles en el panel Tileset y en Aseprite; los índices de tile en los scripts siguen empezando en 1. Se aplica a todas las capas que comparten el tileset.
layerId(string) — Una capa de tilemap.name(string, opcional) — El nombre del tileset; "" lo borra; nil lo deja como está.baseIndex(number, opcional) — El Base Index de Aseprite: el número con el que se muestra el primer tile (1 por defecto), de -32768 a 32767; nil lo deja como está.
No devuelve nada.
app.stampTiles(layerId, frameId, cells, opts?) — modifica, deshacible, se rechaza en una capa bloqueada
Estampa un tile en las celdas indicadas de la cuadrícula de tiles de una capa de tilemap (o, con erase, las vacía), exactamente como el sello de tile de la interfaz. Las celdas no tocadas conservan sus colocaciones. Con symmetry, las celdas reflejadas reciben el tile reflejado (los volteos se reflejan con él); con respectSelection, se omiten las celdas fuera de la selección.
layerId(string) — Una capa de tilemap.frameId(string)cells(table) — Lista de celdas de la CUADRÍCULA DE TILES { x = col, y = row } (o { col, row }), no píxeles del sprite.opts(table, opcional) También acepta Opciones de colocación (véase "Grupos de opciones"), y además:tileIndex(integer ≥ 0; predeterminado context.tileIndex) — El tile a colocar, desde 1.flipH(boolean; predeterminado context.tileFlipH) — Voltea horizontalmente los tiles colocados.flipV(boolean; predeterminado context.tileFlipV) — Voltea verticalmente los tiles colocados.rotate90(boolean; predeterminado context.tileRotate90) — Gira los tiles colocados 90° en sentido horario (solo tiles cuadrados).erase(boolean; predeterminado false) — Quita las colocaciones de las celdas en lugar de colocar un tile.
No devuelve nada.
En Markdown: tilemaps.md.