Format de Carte JSON

Tiled peut exporter des cartes sous forme de fichiers JSON. Pour ce faire, sélectionnez simplement « File > Export As » et sélectionnez le type de fichier JSON. Vous pouvez exporter en json à partir de la ligne de commande avec l’option --export-map.

Les attributs trouvés en format JSON diffère légèrement de ceux trouvés dans le format de carte tmx, mais leurs sens restent les mêmes.

Les attributs suivants peuvent être retrouvés dans un fichier Tiled JSON :

Carte

Attribut

Type

Description

backgroundcolor

string

Couleur en hexadécimal (#RRVVBB or #AARRVVBB) (optionnel)

class

string

The class of the map (since 1.9, optional)

compressionlevel

int

Le niveau de compression à utiliser pour les données du calque de tuiles (-1 par défaut, ce qui veut dire que l’algorithme par défaut est utilisé)

height

int

Nombre de lignes de tuiles

hexsidelength

int

Longueur d’un côté d’une tuile hexagonale en pixels (seulement pour les cartes hexagonales)

infinite

bool

Si la carte a des dimensions infinies

layers

array

Tableau de Calques

nextlayerid

int

Incrémente automatiquement pour chaque calque

nextobjectid

int

Incrémente automatiquement pour chaque objet placé

orientation

string

orthogonal (orthogonale), isometric (isométrique), staggered (échelonnée) ou hexagonal (hexagonale)

parallaxoriginx

double

X coordinate of the parallax origin in pixels (since 1.8, default: 0)

parallaxoriginy

double

Y coordinate of the parallax origin in pixels (since 1.8, default: 0)

properties

array

Tableau de Propriétés

renderorder

string

right-down (bas-droite, par défaut), right-up (haut-droite), left-down (bas-gauche) ou left-up (haut gauche) (seulement supporté pour les cartes orthogonales pour le moment)

staggeraxis

string

x ou y (seulement pour les cartes échelonnées / hexagonales)

staggerindex

string

odd (impair) ou even (pair) (seulement pour les cartes échelonnées / hexagonales)

tiledversion

string

La version de Tiled utilisée pour sauvegarder le fichier

tileheight

int

Hauteur de la grille de la carte

tilesets

array

Tableau de Jeux de Tuiles

tilewidth

int

Longueur de la grille de la carte

type

string

map (depuis la version 1.0)

version

string

La version du format JSON (auparavant un nombre, sauvegardé en tant que chaîne de caractères depuis la version 1.6)

width

int

Nombre de colonnes de tuiles

Exemple de Carte

{
  "backgroundcolor":"#656667",
  "height":4,
  "layers":[ ],
  "nextobjectid":1,
  "orientation":"orthogonal",
  "properties":[
    {
      "name":"mapProperty1",
      "type":"string",
      "value":"one"
    },
    {
      "name":"mapProperty2",
      "type":"string",
      "value":"two"
    }],
  "renderorder":"right-down",
  "tileheight":32,
  "tilesets":[ ],
  "tilewidth":32,
  "version":1,
  "tiledversion":"1.0.3",
  "width":4
}

Calque

Attribut

Type

Description

chunks

array

Tableau de partitions (optionnel). Seulement pour les calques de tuiles.

class

string

The class of the layer (since 1.9, optional)

compression

string

zlib, gzip, zstd (depuis Tiled 1.3) ou vide (par défaut). Seulement pour les calques de tuiles.

data

tableau ou chaîne de caractères

Tableau d'entiers non-signés (GIDs) ou données encodées en base64. Seulement pour les calques de tuiles.

draworder

string

topdown (haut en bas, par défaut) ou index. Seulement pour les groupes d'objets.

encoding

string

csv (par défaut) ou base64. Seulement pour les calques de tuiles.

height

int

Row count. Same as map height for fixed-size maps. tilelayer only.

id

int

ID incrémental - unique pour tous les calques

image

string

Image utilisée pour ce calque. Seulement pour les calques d'images.

layers

array

Tableau de calques. Seulement pour les groupes.

locked

bool

Whether layer is locked in the editor (default: false). (since Tiled 1.8.2)

name

string

Nom assigné à ce calque

objects

array

Tableau d’objets. Seulement pour les groupes d'objets.

offsetx

double

Décalage horizontal du calque en pixels (0 par défaut)

offsety

double

Décalage vertical du calque en pixels (0 par défaut)

opacity

double

Valeur comprise entre 0 et 1

parallaxx

double

Facteur de parallaxe horizontal pour ce calque (1 par défaut). (Depuis Tiled 1.5)

parallaxy

double

Facteur de parallaxe vertical pour ce calque (1 par défaut). (Depuis Tiled 1.5)

properties

array

Tableau de Propriétés

repeatx

bool

Whether the image drawn by this layer is repeated along the X axis. imagelayer only. (since Tiled 1.8)

repeaty

bool

Whether the image drawn by this layer is repeated along the Y axis. imagelayer only. (since Tiled 1.8)

startx

int

Coordonnée X avec laquelle le contenu commence (pour les cartes infinies)

starty

int

Coordonnée Y avec laquelle le contenu commence (pour les cartes infinies)

tintcolor

string

Couleur de teinte formatée en hexadécimal (#RRVVBB ou #AARRVVBB) qui est multipliée par tout graphisme dessiné par ce calque ou tout calque enfant (optionnel).

transparentcolor

string

Couleur en hexadécimal (#RRVVBB) (optionnel). Seulement pour les calques d'images.

type

string

tilelayer, objectgroup, imagelayer ou group

visible

bool

Si le calque est visible ou non dans l’éditeur

width

int

Column count. Same as map width for fixed-size maps. tilelayer only.

x

int

Décalage horizontal d’un calque en tuiles. Toujours 0.

y

int

Décalage vertical du calque en tuiles. Toujours 0.

Exemple de Calque de Tuiles

The data of a tile layer can be stored as a native JSON array or as base64-encoded and optionally compressed binary data, the same as done in the TMX format. The tiles are referenced using Global Tile IDs.

{
  "data":[1, 2, 1, 2, 3, 1, 3, 1, 2, 2, 3, 3, 4, 4, 4, 1],
  "height":4,
  "name":"ground",
  "opacity":1,
  "properties":[
    {
      "name":"tileLayerProp",
      "type":"int",
      "value":1
    }],
  "type":"tilelayer",
  "visible":true,
  "width":4,
  "x":0,
  "y":0
}

Exemple de Calque d’Objets

{
  "draworder":"topdown",
  "height":0,
  "name":"people",
  "objects":[ ],
  "opacity":1,
  "properties":[
    {
      "name":"layerProp1",
      "type":"string",
      "value":"someStringValue"
    }],
  "type":"objectgroup",
  "visible":true,
  "width":0,
  "x":0,
  "y":0
}

Fragments

Les fragments sont utilisés afin de stocker les données d’un calque de tuiles pour des cartes infinies.

Attribut

Type

Description

data

tableau ou chaîne de caractères

Tableau d'entiers non-signés (GIDs) ou données encodées en base64

height

int

Hauteur en tuiles

width

int

Longueur en tuiles

x

int

Coordonnée X en tuiles

y

int

Coordonnée Y en tuiles

Exemple de Fragment

{
  "data":[1, 2, 1, 2, 3, 1, 3, 1, 2, 2, 3, 3, 4, 4, 4, 1, ],
  "height":16,
  "width":16,
  "x":0,
  "y":-16,
}

Objet

Attribut

Type

Description

class

string

The class of the object (renamed from type since 1.9, optional)

ellipse

bool

Utilisé pour référencer un objet en tant qu’une ellipse

gid

int

ID de tuile global, seulement si l’objet représente une tuile

height

double

Hauteur en pixels.

id

int

ID incrémental, unique pour tous les objets

name

string

Chaîne de caractères assignée au champ de nom dans l’éditeur

point

bool

Utilisé pour référencer un objet en tant qu’un point

polygon

array

Tableau de Points, si l’objet est un polygone

polyline

array

Tableau de Points, si l’objet est une polyligne

properties

array

Tableau de Propriétés

rotation

double

Angle en degrés dans le sens des aiguilles d’une montre

template

string

Référence à un fichier de modèle, si l’objet est une instance d’un modèle

text

objet texte JSON

Seulement utilisés pour les objets texte

visible

bool

Si l’objet est affiché dans l’éditeur.

width

double

Longueur en pixels.

x

double

Coordonnée X en pixels

y

double

Coordonnée Y en pixels

Exemple d’Objet

{
  "class":"npc",
  "gid":5,
  "height":0,
  "id":1,
  "name":"villager",
  "properties":[
    {
      "name":"hp",
      "type":"int",
      "value":12
    }],
  "rotation":0,
  "visible":true,
  "width":0,
  "x":32,
  "y":32
}

Exemple d’Ellipse

{
  "class":"",
  "ellipse":true,
  "height":152,
  "id":13,
  "name":"",
  "rotation":0,
  "visible":true,
  "width":248,
  "x":560,
  "y":808
}

Exemple de Rectangle

{
  "class":"",
  "height":184,
  "id":14,
  "name":"",
  "rotation":0,
  "visible":true,
  "width":368,
  "x":576,
  "y":584
}

Exemple de Point

{
  "class":"",
  "height":0,
  "id":20,
  "name":"",
  "point":true,
  "rotation":0,
  "visible":true,
  "width":0,
  "x":220,
  "y":350
}

Exemple de Polygone

{
  "class":"",
  "height":0,
  "id":15,
  "name":"",
  "polygon":[
  {
    "x":0,
    "y":0
  },
  {
    "x":152,
    "y":88
  },
  {
    "x":136,
    "y":-128
  },
  {
    "x":80,
    "y":-280
  },
  {
    "x":16,
    "y":-288
  }],
  "rotation":0,
  "visible":true,
  "width":0,
  "x":-176,
  "y":432
}

Exemple de Polyligne

{
  "class":"",
  "height":0,
  "id":16,
  "name":"",
  "polyline":[
  {
    "x":0,
    "y":0
  },
  {
    "x":248,
    "y":-32
  },
  {
    "x":376,
    "y":72
  },
  {
    "x":544,
    "y":288
  },
  {
    "x":656,
    "y":120
  },
  {
    "x":512,
    "y":0
  }],
  "rotation":0,
  "visible":true,
  "width":0,
  "x":240,
  "y":88
}

Exemple de Texte

{
  "class":"",
  "height":19,
  "id":15,
  "name":"",
  "text":
  {
    "text":"Hello World",
    "wrap":true
  },
  "rotation":0,
  "visible":true,
  "width":248,
  "x":48,
  "y":136
}

Texte

Attribut

Type

Description

bold

bool

Si la police doit être en gras (false par défaut)

color

string

Couleur en hexadécimal (#RRVVBB ou #AARRVVBB) (#000000 par défaut)

fontfamily

string

La famille de police utilisée (sans-serif par défaut)

halign

string

Alignement horizontal (center (centré), right (droite), justify (justifié) ou left (gauche, par défaut))

italic

bool

Si la police doit être en italique (false par défaut)

kerning

bool

S’il faut utiliser du crénage lors du placement des caractères (true par défaut)

pixelsize

int

Taille en pixels de la police (16 par défaut)

strikeout

bool

Si le texte doit être barré (false par défaut)

text

string

Texte

underline

bool

Si le texte doit être souligné (false par défaut)

valign

string

Alignement vertical (center (centré), bottom (bas) ou top (haut, par défaut))

wrap

bool

Si le texte est enroulé à l’intérieur des bords de l’objet (false par défaut)

Jeu de Tuiles

Attribut

Type

Description

backgroundcolor

string

Couleur en hexadécimal (#RRVVBB or #AARRVVBB) (optionnel)

class

string

The class of the tileset (since 1.9, optional)

columns

int

Le nombre de colonnes de tuiles du jeu de tuiles

fillmode

string

The fill mode to use when rendering tiles from this tileset (stretch (default) or preserve-aspect-fit) (since 1.9)

firstgid

int

Le GID de la première tuile du jeu de tuiles

grid

grille de jeu de tuiles JSON

(optionnel)

image

string

Image utilisée pour les tuiles de cette collection

imageheight

int

Hauteur de l’image source en pixels

imagewidth

int

Longueur de l’image source en pixels

margin

int

Marge entre les bords de l’image et la première tuile (en pixels)

name

string

Nom donné à ce jeu de tuiles

objectalignment

string

Alignement à utiliser pour les objets tuiles (unspecified (non spécifié, par défaut), topleft (en haut à gauche), top (en haut), topright (en haut à droite), left (à gauche), center (au centre), right (à droite), bottomleft (en bas à gauche), bottom (en bas) ou bottomright (en bas à droite)) (depuis la 1.4)

properties

array

Tableau de Propriétés

source

string

Le fichier externe qui contient les données de ce jeu de tuiles

spacing

int

Espacement entre deux tuiles adjacentes dans l’image (en pixels)

terrains

array

Tableau de Terrains (optionnel)

tilecount

int

Le nombre de tuiles dans ce jeu de tuiles

tiledversion

string

La version de Tiled utilisée pour sauvegarder le fichier

tileheight

int

La hauteur maximale des tuiles de cette collection

tileoffset

décalage de tuiles de jeu de tuiles JSON

(optionnel)

tilerendersize

string

The size to use when rendering tiles from this tileset on a tile layer (tile (default) or grid) (since 1.9)

tiles

array

Tableau de Tuiles (optionnel)

tilewidth

int

Longueur maximale des tuiles de cette collection

transformations

transformations de jeu de tuiles JSON

Transformations autorisées (optionnel)

transparentcolor

string

Couleur en hexadécimal (#RRVVBB) (optionnel)

type

string

tileset (pour des fichiers de jeu de tuiles, depuis la 1.0)

version

string

La version du format JSON (auparavant un nombre, sauvegardé en tant que chaîne de caractères depuis la version 1.6)

wangsets

array

Tableau de collections Wang (depuis la 1.1.5)

Tous les jeux de tuiles ont une propriété firstgid (premier ID global) qui vous donne l’ID global de sa première tuile (celle qui a pour ID de tuile local 0). Cela vous permet de correspondre les IDs globaux à son vrai jeu de tuiles, et ensuite de calculer l’ID de tuile local en soustrayant firstgid de son ID de tuile global. Le premier jeu de tuiles a toujours une valeur firstgid égale à 1.

Grille

Spécifie les paramètres communs de la grille utilisés pour les tuiles d’un jeu de tuiles. Visitez grille dans le Format de Carte TMX.

Attribut

Type

Description

height

int

Hauteur d’une cellule de la grille de tuiles

orientation

string

orthogonal (orthogonale, par défaut) ou isometric (isométrique)

width

int

Longueur d’une cellule de la grille de tuiles

Décalage de Tuile

Visitez décalage de tuile dans le Format de Carte TMX.

Attribut

Type

Description

x

int

Décalage horizontal en pixels

y

int

Décalage vertical en pixels (positif en bas)

Transformations

Visitez transformations de jeu de tuiles dans le Format de Carte TMX.

Attribut

Type

Description

hflip

bool

Si les tuiles peuvent être inversées horizontalement

vflip

bool

Si les tuiles peuvent être inversées verticalement

rotate

bool

Si les tuiles peuvent être pivotées par incréments de 90 degrés

preferuntransformed

bool

Si les tuiles non transformées sont préférée, sinon les tuiles transformées sont utilisées pour produire plus de variations

Exemple de Jeu de Tuiles

{
 "columns":19,
 "firstgid":1,
 "image":"..\/image\/fishbaddie_parts.png",
 "imageheight":480,
 "imagewidth":640,
 "margin":3,
 "name":"",
 "properties":[
   {
     "name":"myProperty1",
     "type":"string",
     "value":"myProperty1_value"
   }],
 "spacing":1,
 "tilecount":266,
 "tileheight":32,
 "tilewidth":32
}

Tuile (Définition)

Attribut

Type

Description

animation

array

Tableau de Trames

class

string

The class of the tile (renamed from type since 1.9, optional)

id

int

ID local de la tuile

image

string

Image representing this tile (optional, used for image collection tilesets)

imageheight

int

Hauteur de l’image de la tuile en pixels

imagewidth

int

Longueur de l’image de la tuile en pixels

x

int

The X position of the sub-rectangle representing this tile (default: 0)

y

int

The Y position of the sub-rectangle representing this tile (default: 0)

width

int

The width of the sub-rectangle representing this tile (defaults to the image width)

height

int

The height of the sub-rectangle representing this tile (defaults to the image height)

objectgroup

calque

Calque de type groupe d'objets, si des formes de collisions sont spécifiées (optionnel)

probability

double

Pourcentage indiquant la probabilité que cette tuile soit choisie quand elle est en compétition avec d’autres tuiles dans l’éditeur (optionnel)

properties

array

Tableau de Propriétés

terrain

array

Index du terrain pour chaque coin de la tuile (optionnel)

A tileset that associates information with each tile, like its image path, may include a tiles array property. Each tile has an id property, which specifies the local ID within the tileset.

Pour des informations sur le terrain, chaque valeur est un tableau de 4 valeurs dans lequel chaque élément est l’index d’un terrain pour un coin de cette tuile. L’ordre est indices est : en haut à gauche, en haut à droite, en bas à gauche, en bas à droite.

Exemple :

{
  "id":11,
  "properties":[
    {
      "name":"myProperty2",
      "type":"string",
      "value":"myProperty2_value"
    }],
  "terrain":[0, 1, 0, 1]
}

Trame

Attribut

Type

Description

duration

int

Longueur de la trame en millisecondes

tileid

int

ID local de la tuile représentant cette trame

Terrain

Attribut

Type

Description

name

string

Nom du terrain

properties

array

Tableau de Propriétés

tile

int

ID local de la tuile représentant le terrain

Exemple :

{
  "name":"ground",
  "tile":0
}

Collection Wang

Attribut

Type

Description

class

string

The class of the Wang set (since 1.9, optional)

colors

array

Tableau de couleurs Wang (depuis la 1.5)

name

string

Nom de la collection Wang

properties

array

Tableau de Propriétés

tile

int

ID local de la tuile représentant la collection Wang

type

string

corner (coin), edge (bord) ou mixed (mixte) (depuis la 1.5)

wangtiles

array

Tableau de tuiles Wang

Couleur Wang

Attribut

Type

Description

class

string

The class of the Wang color (since 1.9, optional)

color

string

Couleur en hexadécimal (#RRVVBB or #AARRVVBB)

name

string

Nom de la couleur Wang

probability

double

Probabilité utilisée lors de la sélection aléatoire

properties

array

Tableau de Propriétés (depuis la 1.5)

tile

int

ID local de la tuile représentant la couleur Wang

Exemple :

{
  "color": "#d31313",
  "name": "Rails",
  "probability": 1,
  "tile": 18
}

Tuile Wang

Attribut

Type

Description

tileid

int

ID local de la tuile

wangid

array

Tableau d’index de couleurs Wang (uchar[8])

Exemple :

{
  "tileid": 0,
  "wangid": [2, 0, 1, 0, 1, 0, 2, 0]
}

Modèle d’Objet

Un modèle d’objet est écrit dans son propre fichier et est référencé par toute instance de la modèle.

Attribut

Type

Description

type

string

template

tileset

jeu de tuiles

Jeu de tuiles externe utilisé par le modèle (optionnel)

object

objet JSON

L’objet instancié par ce modèle

Propriété

Attribut

Type

Description

name

string

Nom de cette propriété

type

string

Type of the property (string (default), int, float, bool, color, file, object or class (since 0.16, with color and file added in 0.17, object added in 1.4 and class added in 1.8))

propertytype

string

Name of the custom property type, when applicable (since 1.8)

value

value

Valeur de la propriété

Point

Un point d’un polygone ou d’une polyligne, relatif à la position de l’objet.

Attribut

Type

Description

x

double

Coordonnée X en pixels

y

double

Coordonnée Y en pixels

Notes de Version

Tiled 1.9

Tiled 1.8

  • Added support for user-defined custom property types. A reference to the type is saved as the new propertytype property of Propriété.

  • The Propriété element can now have an arbitrary JSON object as its value, in case the property value is a class. In this case the type property is set to the new value class.

  • Added parallaxoriginx and parallaxoriginy properties to Carte.

  • Added repeatx and repeaty properties to Calque (applies only to image layers at the moment).

Tiled 1.7

  • Les objets tuile dans un jeu de tuiles ne sont plus sauvegardés avec un ID incrémental. Ils sont maintenant sauvegardé dans l’ordre d’affichage, ce qui peut être configuré dans Tiled.

Tiled 1.6

  • La propriété version est maintenant écrite en tant que chaîne de caractères (« 1.6 ») plutôt qu’un nombre (1.5).

Tiled 1.5

  • Les propriétés cornercolors et edgecolors d’une collection Wang ont été unifiées dans la nouvelle propriété colors et un champ type a été ajouté.

  • Les couleurs Wang peuvent maintenant stocker des propriétés dans properties.

  • Ajout de la propriété transformations aux jeux de tuiles (voir transformations de jeu de tuiles).

  • Suppression des propriétés dflip, hflip et vflip des tuiles Wang (support abandonné).

  • Added parallaxx and parallaxy properties to the Calque object.

Tiled 1.4

Tiled 1.3

  • Ajout de la propriété editorsettings aux objets carte et jeu de tuiles à la racine, qui est utilisée pour stocker des paramètres spécifiques à l’éditeur qui ne sont généralement pas utiles lors du chargement d’une carte ou d’un jeu de tuiles.

  • Ajout du support pour la compression Zstandard pour les données d’un calque de tuiles ("compression" : "zstd" pour les objets calques de tuiles).

  • Ajout de la propriété compressionlevel à l’objet carte, qui stocke le niveau de compression à utiliser pour les données des calques de tuiles.

Tiled 1.2

  • Ajout de nextlayerid à l’objet carte.

  • Ajout de id à l’objet calque.

  • Les tuiles dans un jeu de tuiles sont maintenant stockées dans un tableau plutôt qu’un objet. Avant les IDs des tuiles étaient stockées en tant que clés chaînes de caractères des objets « tuiles », maintenant elles sont stockées en tant que propriété id de chaque objet Tuile.

  • Les propriétés personnalisées des tuiles sont maintenant stockées dans chaque Tuile plutôt qu’être inclus en tant que tileproperties dans l’objet jeu de tuiles.

  • Les propriétés personnalisées sont maintenant stockées dans un tableau plutôt que dans un objet où le nom des propriétés étaient leur clé. Chaque propriété est maintenant un objet qui stocke son nom, son type et la valeur de la propriété. Les propriétés séparés propertytypes et tilepropertytypes ont été enlevées.

Tiled 1.1