Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Mappa di tasselli

Una mappa di tasselli (tile map) è un componente che permette di disporre, o dipingere, i tasselli di una sorgente di tasselli (tile source) su un’ampia area a griglia. Le mappe di tasselli vengono comunemente usate per costruire gli ambienti dei livelli di gioco. Nelle mappe puoi anche usare le forme di collisione (Collision Shapes) della sorgente di tasselli per il rilevamento delle collisioni e la simulazione fisica (esempio).

Prima di creare una mappa di tasselli devi creare una sorgente di tasselli. Consulta il manuale delle sorgenti di tasselli per sapere come crearne una.

Creare una mappa di tasselli

Per creare una nuova mappa di tasselli:

  • Fai clic con il tasto destro su una posizione nel browser Assets, quindi seleziona New... ▸ Tile Map).
  • Assegna un nome al file.
  • La nuova mappa di tasselli si apre automaticamente nell’editor delle mappe di tasselli.

    Nuova mappa di tasselli

  • Imposta la proprietà Tile Source su un file di sorgente di tasselli che hai preparato.

Per dipingere tasselli sulla mappa:

  1. Seleziona o crea un Layer su cui dipingere nella vista Outline.
  2. Seleziona un tassello da usare come pennello (premi Space per mostrare la tavolozza dei tasselli), oppure seleziona più tasselli facendo clic e trascinando nella tavolozza per creare un pennello rettangolare composto da più tasselli.

    Tavolozza

  3. Dipingi con il pennello selezionato. Per cancellare un tassello, scegli un tassello vuoto e usalo come pennello, oppure seleziona la gomma (Edit ▸ Select Eraser).

    Dipingere tasselli

Puoi prelevare tasselli direttamente da un livello e usare la selezione come pennello. Tieni premuto Shift e fai clic su un tassello per impostarlo come pennello corrente. Tenendo premuto Shift puoi anche fare clic e trascinare per selezionare un blocco di tasselli da usare come pennello più grande. Allo stesso modo, puoi tagliare i tasselli tenendo premuto Shift+Ctrl o cancellarli tenendo premuto Shift+Alt.

Per ruotare il pennello in senso orario, usa Z. Usa X per ribaltare il pennello in orizzontale e Y per ribaltarlo in verticale.

Prelevare tasselli

Aggiungere una mappa di tasselli al gioco

Per aggiungere una mappa di tasselli al gioco:

  1. Crea un oggetto di gioco che contenga il componente mappa di tasselli. L’oggetto di gioco può trovarsi in un file o essere creato direttamente in una collezione.
  2. Fai clic con il tasto destro sulla radice dell’oggetto di gioco e seleziona Add Component File.
  3. Seleziona il file della mappa di tasselli.

Usare una mappa di tasselli

Modifiche durante l’esecuzione

Puoi modificare le mappe di tasselli durante l’esecuzione tramite varie funzioni e proprietà (consulta la documentazione API per le istruzioni d’uso).

Modificare i tasselli da uno script

Puoi leggere e scrivere dinamicamente il contenuto di una mappa di tasselli mentre il gioco è in esecuzione. Per farlo, usa le funzioni tilemap.get_tile() e tilemap.set_tile():

local tile = tilemap.get_tile("/level#map", "ground", x, y)

if tile == 2 then
    -- Replace grass-tile (2) with dangerous hole tile (number 4).
    tilemap.set_tile("/level#map", "ground", x, y, 4)
end

Proprietà della mappa di tasselli

Oltre alle proprietà Id, Position, Rotation e Scale, sono disponibili le seguenti proprietà specifiche del componente:

Tile Source
La risorsa sorgente di tasselli da usare per la mappa di tasselli.
Material
Il materiale da usare per il rendering della mappa di tasselli.
Blend Mode
La modalità di fusione da usare per il rendering della mappa di tasselli.

Modalità di fusione

La proprietà Blend Mode definisce come la grafica del componente viene fusa con la grafica sottostante. Queste sono le modalità di fusione disponibili e il modo in cui vengono calcolate:

Alpha
Fusione normale: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
Schiarisce lo sfondo con i valori di colore dei pixel corrispondenti del componente: src.rgb + dst.rgb
Multiply
Scurisce lo sfondo con i valori dei pixel corrispondenti del componente: src.rgb * dst.rgb
Screen
Opposto di Multiply. Schiarisce lo sfondo e i valori dei pixel corrispondenti del componente: src.rgb - dst.rgb * dst.rgb

Modificare le proprietà

Una mappa di tasselli ha varie proprietà che possono essere modificate usando go.get() e go.set():

tile_source
La sorgente di tasselli della mappa (hash). Puoi cambiarla usando una proprietà di risorsa di tipo sorgente di tasselli e go.set(). Consulta la documentazione di riferimento dell’API per un esempio.
material
Il materiale della mappa di tasselli (hash). Puoi cambiarlo usando una proprietà di risorsa di tipo materiale e go.set(). Consulta la documentazione di riferimento dell’API per un esempio.

Costanti del materiale

Il materiale predefinito del componente tilemap ha le seguenti costanti, che puoi modificare con go.set() o go.animate() (consulta il manuale sui materiali per maggiori dettagli). Esempi:

go.set("#tilemap", "tint", vmath.vector4(1,0,0,1))
go.animate("#tilemap", "tint", go.PLAYBACK_LOOP_PINGPONG, vmath.vector4(1,0,0,1), go.EASING_LINEAR, 2)
tint
La tinta della mappa di tasselli (vector4). Il tipo vector4 viene usato per rappresentare la tinta, con x, y, z e w che corrispondono rispettivamente alle componenti rosso, verde, blu e alfa della tinta.

Configurazione del progetto

Il file game.project contiene alcune impostazioni del progetto relative alle mappe di tasselli.

Strumenti esterni

Esistono editor esterni di mappe e livelli che possono esportare direttamente nel formato delle mappe di tasselli di Defold:

Tiled

Tiled è un editor di mappe noto e molto diffuso, adatto a mappe ortogonali, isometriche ed esagonali. Tiled supporta numerose funzionalità e può esportare direttamente per Defold. Per saperne di più su come esportare i dati delle mappe di tasselli e metadati aggiuntivi, consulta questo articolo del blog dell’utente Defold “goeshard”

Tilesetter

Tilesetter permette di creare automaticamente insiemi completi di tasselli a partire da semplici tasselli di base e dispone di un editor di mappe che può esportare direttamente per Defold.