# Tilemap

Crea livelli di gioco e grafica ripetuta con i tile: livelli tilemap, tileset, le tre modalità dei tile, tileset condivisi ed esportazione verso Tiled e i motori di gioco.

_Le scorciatoie sono scritte per Windows e Linux. Su Mac, usa ⌘ Cmd dove c'è scritto Ctrl e ⌥ Option per Alt._

Un **livello tilemap** si dipinge con i **tile**: piccole immagini, tutte della stessa dimensione,
conservate nel **tileset** del livello. Il livello in sé registra soltanto quale tile si trova in
ogni cella della sua griglia (e se è capovolto o ruotato). Ridipingi un tile e cambia ogni cella che
lo usa, ed è questo che rende i tile ideali per muri, pavimenti e terreni.

## Creare un livello tilemap

- **Nuovo:** Livello > Nuovo livello tilemap... chiede un nome e una **larghezza e altezza del tile** (16×16 se
  non le cambi). Parte con un tileset vuoto. Se lo sprite ha già un tileset, puoi scegliere **Usa
  esistente** per condividerlo (sotto).
- **Da un livello immagine:** Livello > Tilemap > Converti in tilemap... taglia in tile la grafica del livello,
  su ogni fotogramma, e la sostituisce con posizionamenti di tile. **Condividi i tile identici** fa
  dei quadrati ripetuti un solo tile; **Condividi anche i tile capovolti e ruotati** prende anche le
  copie specchiate. La griglia parte dall'angolo in alto a sinistra della tela, e la grafica oltre i
  bordi della tela viene conservata anch'essa come tile. Ogni cel mantiene la sua opacità, il suo
  z-index e i suoi dati utente, che puoi cambiare in **Proprietà del cel** (clic destro sul cel),
  come su qualsiasi livello.
- **Tornare ai pixel:** Livello > Tilemap > Converti in livello normale trasforma i tile in normali pixel su ogni
  fotogramma, compresi i tile fuori dalla tela.

## Le tre modalità

Con un livello tilemap attivo, la barra delle opzioni dello strumento mostra **Tile**, **Pixels:
Auto** e **Pixels: Edit**, e una casella **Griglia dei tile** che disegna i confini dei tile. Premi
`Alt+T` per passare tra Tile e l'ultima modalità pixel che hai usato. (Aseprite usa
Tab per questo; qui Tab si limita a spostarsi tra i controlli.)

| Modalità | Cosa fa il disegno |
| - | - |
| **Tile** | Posiziona tile interi con lo strumento Timbro di tile. Gli strumenti a pixel non dipingono in questa modalità. |
| **Pixels: Auto** | Dipingi pixel come su qualsiasi livello; cambiano solo le celle che tocchi. Una cella che finisce identica a un tile esistente lo riusa; un'immagine nuova diventa un nuovo tile; un tile usato altrove viene copiato per questa cella, così le altre celle mantengono il loro. Una cella che cancelli completamente torna vuota. I tile che la tua modifica lascia inutilizzati vengono rimossi. |
| **Pixels: Edit** | Dipingi direttamente nei tile stessi: ogni cella, su ogni fotogramma, che usa un tile cambia con esso. Le celle vuote restano vuote. |

Scegliere Tile passa al Timbro tile, e scegliere uno strumento di disegno torna a una modalità
pixel, così lo strumento e la modalità corrispondono sempre.

## Il pannello Tileset

Il pannello **Tileset** mostra i tile del livello tilemap attivo, con il numero di celle che usano
ciascuno. Fai clic su un tile per selezionarlo: il tile selezionato è quello che il Timbro tile
posiziona. Il **Tile 0** è il tile vuoto ed è sempre presente.

- I pulsanti aggiungono un tile vuoto, **duplicano** il tile selezionato (la copia va in fondo), lo
  **svuotano** rendendolo trasparente, o lo **eliminano** (se delle celle lo usano, ti viene chiesto
  prima, e quelle celle vengono svuotate). Ogni modifica si può annullare.
- Trascina un tile, o premi `Alt` con un tasto freccia, per **riordinare** il tileset. Le celle
  continuano a mostrare le stesse immagini.
- **Corrispondenza auto** (Capovolgi O, Capovolgi V, Ruota) permette a Pixels: Auto di riusare un
  tile quando la nuova immagine coincide con esso capovolto o ruotato.
- **Timbro** (Capovolgi O, Capovolgi V, Ruota di 90°) capovolge o ruota il tile che il Timbro tile
  posiziona. Solo i tile quadrati si possono ruotare.
- Livello > Tilemap > Proprietà del tileset... dà un nome al tileset e imposta il suo **Indice base**: il numero
  mostrato per il primo tile (1, come in Aseprite; da -32768 a 32767). Cambia solo la numerazione. La
  sua sezione **Dati utente** contiene un colore, una nota e proprietà personalizzate per il tileset
  ([Dati utente e proprietà personalizzate](https://pxstud.io/it/docs/manual/guides/document.md#user-data-and-custom-properties)).

## Timbrare i tile

Con il Timbro di tile, fai clic o trascina sul livello per mettere il tile selezionato in ogni
cella su cui passi. Tieni premuto `Alt` all'inizio per rimuovere invece i tile. Un intero
trascinamento è un passo di annullamento. Il livello deve essere visibile e sbloccato.

## Posizionare i tile con altri strumenti

Con un livello tilemap attivo, la matita, la gomma, la linea, il rettangolo, l'ellisse, il triangolo,
l'esagono, la stella e il secchiello hanno una casella **Posiziona tile**. Se attiva, posizionano il
tile selezionato (e le sue impostazioni di Capovolgi e Ruota, come impostate per il Timbro tile) sulle
celle del tilemap invece di dipingere pixel, qualunque sia la modalità Tile / Pixels:

- Una cella è coperta quando un qualsiasi pixel che lo strumento dipingerebbe cade al suo interno: un
  punto di matita da un pixel posiziona un tile, un rettangolo con solo il contorno le celle che il
  contorno attraversa, uno pieno ogni cella che riempie. Conta la dimensione del pennello. La gomma
  svuota le celle che tocca.
- Il **secchiello** riempie con il tile selezionato le celle connesse (su e giù, sinistra e destra)
  che contengono lo stesso tile di quella su cui fai clic. Una cella vuota conta come tile 0.
  **Globale** riempie invece ogni cella che contiene quel tile. Resta dentro la griglia di celle
  della tela, quindi su un livello vuoto riempie la griglia visibile e non oltre.
- La **simmetria** specchia il posizionamento. Una cella va alla cella che contiene lo specchio del
  suo centro, e il tile viene capovolto di conseguenza: un asse verticale attiva Capovolgi O, un asse
  orizzontale Capovolgi V, e un asse diagonale ruota il tile (Ruota di 90° più un capovolgimento,
  solo tile quadrati). Una cella su un asse mantiene il tile come l'hai posizionato. Il secchiello
  riempie di nuovo da ogni clic specchiato.
- Una **selezione** limita il posizionamento alle celle con almeno un pixel selezionato (anche il
  secchiello si ferma sulle altre).
- Ogni tratto o riempimento è un passo di annullamento, e quello che non cambia nulla non ne lascia
  nessuno.

Anche il Timbro tile segue la simmetria e la selezione.

## Condividere un tileset

Più livelli tilemap possono usare **lo stesso tileset**: scegli **Usa esistente** in
Livello > Nuovo livello tilemap.... Modificare, aggiungere, rimuovere o riordinare i tile raggiunge allora ogni
livello che lo condivide, ed è così che mantieni allineati un livello di sfondo e uno di primo piano.
L'intestazione del pannello mostra quanti livelli condividono il tileset. Bloccarne uno lo protegge:
un tile che mostra non può essere ridipinto, svuotato o eliminato (né modificato con Pixels: Edit)
tramite un altro livello finché non lo sblocchi.

## Importare tile

Livello > Tilemap > Importa tile da immagine... taglia un'immagine in tile della dimensione del tileset e li aggiunge.
L'immagine può essere un **file immagine**, il **fotogramma attivo**, o la **selezione** su di esso.
Può **saltare i tile duplicati** (anche quelli capovolti e ruotati), **saltare i tile vuoti**, e
**posizionare i tile** anche sul fotogramma attivo.

## Tilemap animati

Ogni fotogramma ha i propri posizionamenti di tile, quindi un tilemap può animarsi. Anche i
fotogrammi di un livello tilemap possono essere **collegati** (Fotogramma > Nuovo fotogramma collegato,
Modifica > Cel > Collega cel): i fotogrammi collegati condividono i loro posizionamenti. Ricorda che Pixels: Edit
cambia i tile stessi, quindi si vede su ogni fotogramma che li usa, collegato o no.

## Esportare

File > Esporta... con il tipo **Tilemap (JSON / Tiled)** scrive un'immagine PNG di ogni tileset più:

- **Tiled** (mappa `.tmj` con tileset `.tsj`), per l'editor Tiled e i motori che leggono il suo
  formato. Le mappe Tiled non hanno fotogrammi, quindi viene esportato solo il fotogramma selezionato.
- **JSON (tutti i fotogrammi)**, un semplice file con i numeri dei tile e le durate di ogni
  fotogramma.

In entrambi, una cella con 0 è vuota, e i capovolgimenti e la rotazione sono memorizzati nei bit più
alti del numero, come fa Tiled. I tilemap sono conservati anche nei file **Aseprite**, tileset
condivisi compresi.
