Éditeur de cartes de tuiles

Une carte de tuiles est un niveau : une grille de cases peintes avec les tuiles de l’une de vos images, avec des tags que votre code lit, et des objets posés dessus, le départ du héros, des pièces, des coffres. Elle s’ouvre dans l’éditeur de cartes de tuiles, sur iPad et sur Mac.

Ouvrir l’éditeur de cartes de tuiles

Choisissez un .tilemap dans Fichiers : il s’ouvre directement dans l’éditeur. Pour en créer un, choisissez Fichier › Nouvel asset… puis Carte de tuiles (voir Projets et assets).

La barre nomme la carte et indique sa taille, celle de ses tuiles et le zoom. Tuiles | Objets choisit le calque que vous modifiez (L). Grille affiche les lignes des cases, et Réglages de la carte lie le jeu de tuiles, redimensionne la carte et règle la taille des cases.

Peindre les tuiles

Sur le calque Tuiles, la colonne latérale montre le jeu de tuiles : cliquez sur une tuile pour la prendre, ou faites glisser sur plusieurs pour prendre un tampon. Les outils longent le bord du canevas, chacun avec sa touche :

Peindre les tags (T) peint le tag choisi sous le jeu de tuiles au lieu des tuiles, et Afficher les tags les montre sur la carte. Le code lit le tag d’une case avec map.hit(…) : le tag 2 pour les murs, par exemple (voir Collision).

Le calque Objets

Les objets sont des noms posés sur des cases : le départ du héros, une rangée de pièces, un coffre. Choisissez Objets dans la barre (L) pour les placer. La colonne latérale devient la palette des objets : chaque sprite du projet, dessiné avec sa première image, et nommé comme lui. Le nom d’un objet est celui de son sprite, et c’est ce que lit votre code.

Un objet ne se pose jamais sur un autre : un déplacement vers une case occupée est refusé, l’objet revient et l’éditeur dit ce que contient la case. Maintenez ⌥ pour échanger les deux. Supprimer, Couper, Copier et Coller agissent sur les objets (un groupe collé suit le pointeur jusqu’à votre clic). Afficher les noms (N) montre tous les noms ; sinon un nom apparaît quand vous sélectionnez ou survolez son objet. Remplissage, Rectangle et Peindre les tags sont estompés sur le calque Objets.

Sur le calque Tuiles, les objets restent sur la carte à 40 %, et un clic peint la tuile sous un objet, jamais l’objet.

Sur cette carte compte les objets de chaque nom ; cliquez sur un nom pour tous les sélectionner. Un clic droit sur la carte ouvre le menu du calque.

Types

Nouveau type…, dans la palette, donne un nom à une image d’un sprite : un guard dessiné avec la deuxième image du sprite du slime, à côté du slime. Un type est enregistré avec la carte, et listé dans la palette après les sprites.

Renommer un sprite dans Fichiers demande Renommer aussi ses 3 objets ? quand des objets des cartes du projet sont dessinés avec lui : Renommer les objets les renomme sur chaque carte, avec les types dessinés avec lui, et une seule annulation reprend ensemble le nouveau nom et les objets ; Garder leurs noms les laisse. Un objet dont le sprite a été supprimé, ou renommé sans lui, garde son nom, dessiné en pointillés jusqu’à ce qu’un sprite ou un type porte de nouveau ce nom.

Sur iPad

Un toucher pose un objet là où votre doigt se lève. Avec Sélection, faites glisser un objet pour le déplacer ; quel que soit l’outil, un appui long soulève un objet pour le déplacer, ou montre son menu si vous relâchez sans bouger. La capsule d’édition sur la carte a Supprimer sur le calque Objets. Deux doigts font défiler et zoomer, et ne posent jamais rien.

Dans le code

map.things() liste les objets en (name, row, column) :

level = world.spawn(map=GridMap(tilemap="level"))

for name, row, column in level.map.things():
    if name == "coin":
        place_coin(row, column)   # la fonction de votre jeu

Voir GridMap pour le format et les autres fonctions de la carte.

Utilisé dans le code, dans la barre du panneau, liste les lignes de vos scripts qui nomment cette carte ; choisissez-en une pour y aller. Dans le code, un Cmd+clic sur le nom de la carte ramène ici.

Annuler et rétablir

Chaque modification est une étape d’Annuler (Cmd+Z) : un trait de tuiles, un glissé qui pose une rangée de pièces, le déplacement de plusieurs objets.