Propriétés personnalisées

Une des grandes forces de Tiled est qu’il permet de définir des propriétés personnalisées sur l’ensemble de ses structures de données. De cette manière, il est possible d’inclure de nombreuses formes d’information personnalisées, qui peuvent être ensuite utilisées par votre jeu ou par le framework que vous utilisez pour intégrer les cartes de Tiled.

Les propriétés personnalisées sont affichées dans la vue Propriétés. Cette vue dépend du contexte, on l’obtient généralement en affichant les propriétés du dernier objet sélectionné. Pour les tuiles dans un tileset ou des objets sur un calque d’objet, il prend également en charge le multi-sélection.

Properties View

Propriétés De La Vue

Ajout de propriétés

Lorsque vous ajoutez une propriété (en utilisant le bouton  » +  » en bas de la vue « Propriétés »), vous êtes invité à entrer son nom et son type. Actuellement Tiled prend en charge les types basiques de propriétés suivants :

  • string (n’importe quel texte, y compris le texte multi-ligne)
  • float (un nombre à virgule flottante)
  • int (un nombre entier)
  • bool (vrai ou faux)
  • file (le chemin relatif d’un fichier)
  • color (une valeur de couleur sur 32 bits)
Add Property Dialog

Ajouter la Boîte de Dialogue de Propriété

Le type de propriété est utilisé pour choisir un éditeur personnalisé dans la vue « Propriétés ». Le choix d’un type de nombre ou de booléen permet également d’éviter que la valeur obtenue en JSON et Lua soit citée dans les exportations.

Since Tiled 1.0

Héritage des propriétés de tuile

Lorsque des propriétés personnalisées sont ajoutées à une tuile, ces propriétés seront également visibles lorsqu’une instance de l’objet de cette tuile est sélectionnée. Cela permet de ré-écrire facilement les propriétés associées à une tuile pour chaque objet. Cela devient particulièrement utile lorsqu’il est combiné avec Tuiles Typées.

Les propriétés héritées seront affichées en gris (couleur de texte désactivée), tandis que les propriétés ré-écrites seront affichées en noir (couleur de texte habituelle).

Propriétés Prédéfinies

Paramètres Généraux

Normalement, vous n’utilisez qu’un nombre limité de types d’objets dans votre jeu, et chaque type d’objet a un nombre fixe de propriétés possibles, avec des types spécifiques et des valeurs par défaut. Pour économiser votre temps, Tiled permet de prédéfinir ces propriétés en se basant sur le champ « Type » des objets. Vous pouvez le mettre en place en utilisant l’Éditeur de Type d’Objet disponible depuis le menu « Vue ».

Object Types Editor

Éditeur de Type d’Objet

Par défaut, Tiled stocke ces types d’objets dans les paramètres d’utilisateur. Cependant, comme vous voudrez souvent les partager avec les autres personnes de votre projet, vous pouvez exporter ces types d’objets ou modifier le répertoire d’enregistrement des fichiers de types d’objets. Un simple fichier XML ou JSON avec un contenu auto-explicatif est utilisé pour stocker vos types d’objets.

La couleur n’affecte pas seulement le rendu des différentes formes d’objets, mais aussi la couleur de l’étiquette qui apparaîtra si vous donnez un nom à votre objet.

Pour faire apparaître les propriétés prédéfinies dans la vue Propriétés, tout ce que vous devez faire est d’entrer le nom et le type dans la propriété « Type » intégrée. Normalement, c’est ce que vous faites de toute façon pour indiquer à votre moteur de jeu quel genre d’objet il utilise.

Since Tiled 1.0

Tuiles Typées

If you’re using tile objects, you can set the type on the tile to avoid having to set it on each object instance. Setting the type on the tile makes the predefined properties visible when having the tile selected, allowing to override the values. It also makes those possibly overridden values visible when having a tile object instance selected, again allowing you to override them.

Un exemple de cas d’utilisation serait de définir des types personnalisés comme « PNJ », « Ennemi » ou « Objet » avec des propriétés comme « Nom », « Santé » ou « Poids ». Vous pouvez ensuite spécifier les valeurs pour ces propriétés sur les tuiles qui représentent ces entités. Quand vous placez ces tuiles comme des objets, vous pouvez si besoin ré-écrire ces valeurs.

Future Extensions

Il y a plusieurs types de propriétés personnalisées que j’aimerais ajouter :

  • Énumérations, où vous pouvez prédéfinir toutes les valeurs possibles et que cela forme une boite de dialogue (#1211).
  • Références d’Objets, qui permettent de facilement lier des objets entre eux et Tiled pourrait afficher ces connexions (#707).
  • Propriétés Liste, qui seraient des propriétés ayant une liste de valeurs (#1493).
  • Propriétés dictionnaire, qui seraient des propriétés qui peuvent contenir n’importe quel nombre d’autres propriétés comme enfants (#489).

Cela serait également une bonne chose d’ajouter un support pour les Limites des valeurs de propriétés, comme la taille des chaînes de caractères ou un nombre minimum/maximum de valeurs.

À part pour prédéfinir les propriétés basées sur un type d’objet, J’aimerais ajouter un support pour prédéfinir les propriétés pour chaque type de données. Définissant ainsi que chaque propriété personnalisée est valide pour les maps, groupes de tuiles, niveaux, etc. (#1410)

Finalement, les propriétés prédéfinies devraient très bien fonctionner ensembles avec un explicite support pour projets. Enfin vous pouvez changer entre les différents projets ou commencer sur un projet existant, sans avoir besoin de configurer Tiled pour utiliser les définitions correctes de types d’objets.

Si vous aimez au moins un seul de ces points, s’il-vous-plaît aidez-moi à y arriver plus vite en devenant un mécène. Plus je recevrai de soutien, plus j’aurais les moyens de passer du temps à améliorer Tiled !