# Tilemaps

Construye niveles y arte repetitivo con tiles: capas de tilemap, tilesets, los tres modos de tiles, tilesets compartidos y exportación a Tiled y a motores de juegos.

_Los atajos están escritos para Windows y Linux. En un Mac, usa ⌘ Cmd donde dice Ctrl y ⌥ Option donde dice Alt._

Una **capa de tilemap** se pinta con **tiles**: imágenes pequeñas, todas del mismo tamaño, guardadas
en el **tileset** de la capa. La propia capa solo registra qué tile hay en cada celda de su
cuadrícula (y si está volteado o girado). Repinta un tile y cambia cada celda que lo usa, lo que hace
que los tiles sean ideales para paredes, suelos y terreno.

## Crear una capa de tilemap

- **Nueva:** Capa > Nueva capa de tilemap... pide un nombre y un **ancho y alto de tile** (16×16 si no lo
  cambias). Empieza con un tileset vacío. Si el sprite ya tiene un tileset, puedes elegir **Usar
  existente** para compartirlo (abajo).
- **A partir de una capa de imagen:** Capa > Tilemap > Convertir en tilemap... corta el arte de la capa, en
  todos los fotogramas, en tiles y lo reemplaza con colocaciones de tiles. **Compartir tiles
  idénticos** hace que los cuadrados repetidos sean un solo tile; **Compartir también tiles volteados
  y rotados** detecta también las copias en espejo. La cuadrícula empieza en la esquina superior
  izquierda del lienzo, y el arte que queda más allá de los bordes del lienzo también se conserva
  como tiles. Cada celda conserva su opacidad, z-index y datos de usuario, que puedes cambiar en
  **Propiedades de la celda** (clic derecho en la celda), como en cualquier capa.
- **De vuelta a píxeles:** Capa > Tilemap > Convertir en capa normal convierte los tiles en píxeles normales en
  todos los fotogramas, incluidos los tiles fuera del lienzo.

## Los tres modos

Con una capa de tilemap activa, la barra de opciones de herramienta muestra **Tiles**, **Píxeles:
auto** y **Píxeles: editar**, y una casilla **Cuadrícula de tiles** que dibuja los límites de los
tiles. Pulsa `Alt+T` para cambiar entre Tiles y el modo de píxeles que usaste por
última vez. (Aseprite usa Tab para esto; aquí Tab solo se mueve entre controles.)

| Modo | Qué hace pintar |
| - | - |
| **Tiles** | Coloca tiles completos con el Sello de tiles. Las herramientas de píxeles no pintan en este modo. |
| **Píxeles: auto** | Pinta píxeles como en cualquier capa; solo cambian las celdas que tocas. Una celda que acaba idéntica a un tile existente lo reutiliza; una imagen nueva se convierte en un tile nuevo; un tile usado en otro lugar se copia para esta celda, así que las demás celdas conservan el suyo. Una celda que borras por completo vuelve a quedar vacía. Los tiles que tu edición deja sin usar se eliminan. |
| **Píxeles: editar** | Pinta directamente en los propios tiles: cada celda, en cada fotograma, que usa un tile cambia con él. Las celdas vacías siguen vacías. |

Elegir Tiles cambia al Sello de tiles, y elegir una herramienta de dibujo vuelve a un modo de
píxeles, así que la herramienta y el modo siempre coinciden.

## El panel Tileset

El panel **Tileset** muestra los tiles de la capa de tilemap activa, con cuántas celdas usan cada
uno. Haz clic en un tile para seleccionarlo: el tile seleccionado es el que coloca el Sello de tiles.
El **Tile 0** es el tile vacío y siempre está.

- Los botones añaden un tile vacío, **duplican** el tile seleccionado (la copia va al final), lo
  **vacían** hasta dejarlo transparente o lo **eliminan** (si hay celdas que lo usan, antes se te
  pregunta, y esas celdas se vacían). Todos los cambios se pueden deshacer.
- Arrastra un tile, o pulsa `Alt` con una tecla de flecha, para **reordenar** el tileset. Las
  celdas siguen mostrando las mismas imágenes.
- **Coincidencia auto** (Voltear H, Voltear V, Rotar) permite que Píxeles: auto reutilice un tile
  cuando la imagen nueva coincide con él volteado o rotado.
- **Sello** (Voltear H, Voltear V, Rotar 90°) voltea o gira el tile que coloca el Sello de tiles. Solo
  se pueden rotar los tiles cuadrados.
- Capa > Tilemap > Propiedades del tileset... da nombre al tileset y define su **Índice base**: el número que se
  muestra para el primer tile (1, como en Aseprite; de -32768 a 32767). Solo cambia la numeración. Su
  sección **Datos de usuario** contiene un color, una nota y propiedades personalizadas para el
  tileset ([Datos de usuario y propiedades personalizadas](https://pxstud.io/es/docs/manual/guides/document.md#user-data-and-custom-properties)).

## Estampar tiles

Con el Sello de tiles, haz clic o arrastra por la capa para poner el tile seleccionado en cada
celda por la que pasas. Mantén `Alt` al empezar para quitar tiles en su lugar. Un arrastre
completo es un solo paso de deshacer. La capa debe estar visible y desbloqueada.

## Colocar tiles con otras herramientas

Con una capa de tilemap activa, el lápiz, la goma, la línea, el rectángulo, la elipse, el triángulo,
el hexágono, la estrella y el bote de pintura tienen una casilla **Colocar tiles**. Con ella activada,
colocan el tile seleccionado (y sus ajustes de Voltear y Rotar, tal como están en el Sello de tiles)
en las celdas del tilemap en lugar de pintar píxeles, sea cual sea el modo Tiles / Píxeles:

- Una celda queda cubierta cuando cualquier píxel que la herramienta pintaría cae dentro de ella: un
  punto de lápiz de un píxel coloca un tile, un rectángulo de contorno las celdas que cruza su
  contorno, uno relleno todas las celdas que rellena. El tamaño del pincel cuenta. La goma vacía las
  celdas que toca.
- El **bote de pintura** rellena con el tile seleccionado las celdas conectadas (arriba y abajo,
  izquierda y derecha) que contienen el mismo tile que aquel en el que haces clic. Una celda vacía
  cuenta como tile 0. **Global** rellena en su lugar todas las celdas que contienen ese tile. Se
  queda dentro de la cuadrícula de celdas del lienzo, así que en una capa vacía rellena la cuadrícula
  visible y no más allá.
- La **simetría** refleja la colocación. Una celda va a la celda que contiene el reflejo de su
  centro, y el tile se voltea para coincidir: un eje vertical alterna Voltear H, un eje horizontal
  Voltear V, y un eje diagonal gira el tile (Rotar 90° más un volteo, solo tiles cuadrados). Una celda
  sobre un eje conserva el tile como lo colocaste. El bote de pintura vuelve a rellenar desde cada clic
  reflejado.
- Una **selección** limita la colocación a las celdas con al menos un píxel seleccionado (el bote de
  pintura también se detiene en las demás).
- Cada trazo o relleno es un solo paso de deshacer, y uno que no cambia nada no deja ninguno.

El Sello de tiles también respeta la simetría y la selección.

## Compartir un tileset

Varias capas de tilemap pueden usar **el mismo tileset**: elige **Usar existente** en
Capa > Nueva capa de tilemap.... Editar, añadir, quitar o reordenar tiles llega entonces a todas las capas que
lo comparten, que es la forma de mantener sincronizadas una capa de fondo y una de primer plano. El
encabezado del panel muestra cuántas capas comparten el tileset. Bloquear una de ellas la protege: un
tile que muestra no se puede repintar, vaciar ni eliminar (ni editar con Píxeles: editar) a través de
otra capa hasta que la desbloquees.

## Importar tiles

Capa > Tilemap > Importar tiles desde una imagen... corta una imagen en tiles del tamaño del tileset y los añade. La imagen
puede ser un **archivo de imagen**, el **fotograma activo** o la **selección** sobre él. Puede
**omitir tiles duplicados** (también los volteados y rotados), **omitir tiles vacíos** y también
**colocar los tiles** en el fotograma activo.

## Tilemaps animados

Cada fotograma tiene sus propias colocaciones de tiles, así que un tilemap puede animarse. Los
fotogramas también se pueden **vincular** en una capa de tilemap (Fotograma > Nuevo fotograma vinculado,
Edición > Celda > Vincular celdas): los fotogramas vinculados comparten sus colocaciones. Recuerda que Píxeles: editar
cambia los propios tiles, así que se ve en cada fotograma que los usa, estén vinculados o no.

## Exportar

Archivo > Exportar... con el tipo **Tilemap (JSON / Tiled)** escribe una imagen PNG de cada tileset más
una de estas opciones:

- **Tiled** (mapa `.tmj` con tilesets `.tsj`), para el editor Tiled y los motores que leen su formato.
  Los mapas de Tiled no tienen fotogramas, así que solo se exporta el fotograma seleccionado.
- **JSON (todos los fotogramas)**, un archivo simple con los números de tile y las duraciones de cada
  fotograma.

En ambos, una celda con 0 está vacía, y los volteos y la rotación se guardan en los bits superiores
del número, como hace Tiled. Los tilemaps también se conservan en los archivos de **Aseprite**,
incluidos los tilesets compartidos.
