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 |
La classe de la carte (depuis la 1.9, optionnelle) |
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 |
|
parallaxoriginx |
double |
La coordonnée X de l’origine de la parallaxe en pixels (depuis la 1.8, 0 par défaut) |
parallaxoriginy |
double |
La coordonnée Y de l’origine de la parallaxe en pixels (depuis la 1.8, 0 par défaut) |
properties |
array |
Tableau de Propriétés |
renderorder |
string |
|
staggeraxis |
string |
|
staggerindex |
string |
|
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 |
|
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 |
class |
string |
La classe de la tuile (depuis la 1.9, optionnel) |
compression |
string |
|
data |
tableau ou chaîne de caractères |
Tableau |
draworder |
string |
|
encoding |
string |
|
height |
int |
Nombre de lignes. Identique à la hauteur de la carte pour des cartes à taille fixe. |
id |
int |
ID incrémental - unique pour tous les calques |
image |
string |
Image utilisée pour ce calque. Seulement pour les |
imageheight |
int |
Height of the image used by this layer. |
imagewidth |
int |
Width of the image used by this layer. |
layers |
array |
Tableau de calques. Seulement pour les |
locked |
bool |
Whether layer is locked in the editor (default: false). (since 1.8.2) |
name |
string |
Nom assigné à ce calque |
objects |
array |
Tableau d’objets. Seulement pour les |
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 |
Horizontal parallax factor for this layer (default: 1). (since 1.5) |
parallaxy |
double |
Vertical parallax factor for this layer (default: 1). (since 1.5) |
properties |
array |
Tableau de Propriétés |
repeatx |
bool |
Whether the image drawn by this layer is repeated along the X axis. |
repeaty |
bool |
Whether the image drawn by this layer is repeated along the Y axis. |
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 |
type |
string |
|
visible |
bool |
Si le calque est visible ou non dans l’éditeur |
width |
int |
Nombre de colonnes. Identique à la longueur de la carte pour des cartes à taille fixe. |
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
Les données d’un calque de tuiles peuvent être stockées en tant qu’un tableau JSON natif ou bien que données binaires encodés base64 et optionnellement compressés, à l’image de ce qui est fait dans le format TMX. Les tuiles sont référencées en utilisant des Identifiants de Tuile Globaux (Global 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 |
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 |
---|---|---|
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 |
modèle |
string |
Référence à un fichier de modèle, si l’objet est une instance d’un modèle |
text |
Seulement utilisés pour les objets texte |
|
type |
string |
La classe de l’objet (était sauvegardé en tant que |
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
{
"gid":5,
"height":0,
"id":1,
"name":"villager",
"properties":[
{
"name":"hp",
"type":"int",
"value":12
}],
"rotation":0,
"type":"npc",
"visible":true,
"width":0,
"x":32,
"y":32
}
Exemple d’Ellipse
{
"ellipse":true,
"height":152,
"id":13,
"name":"",
"rotation":0,
"type":"",
"visible":true,
"width":248,
"x":560,
"y":808
}
Exemple de Rectangle
{
"height":184,
"id":14,
"name":"",
"rotation":0,
"type":"",
"visible":true,
"width":368,
"x":576,
"y":584
}
Exemple de Point
{
"height":0,
"id":20,
"name":"",
"point":true,
"rotation":0,
"type":"",
"visible":true,
"width":0,
"x":220,
"y":350
}
Exemple de Polygone
{
"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,
"type":"",
"visible":true,
"width":0,
"x":-176,
"y":432
}
Exemple de Polyligne
{
"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,
"type":"",
"visible":true,
"width":0,
"x":240,
"y":88
}
Exemple de Texte
{
"height":19,
"id":15,
"name":"",
"text":
{
"text":"Hello World",
"wrap":true
},
"rotation":0,
"type":"",
"visible":true,
"width":248,
"x":48,
"y":136
}
Texte
Attribut |
Type |
Description |
---|---|---|
bold |
bool |
Si la police doit être en gras ( |
color |
string |
Couleur en hexadécimal (#RRVVBB ou #AARRVVBB) ( |
fontfamily |
string |
La famille de police utilisée ( |
halign |
string |
Alignement horizontal ( |
italic |
bool |
Si la police doit être en italique ( |
kerning |
bool |
S’il faut utiliser du crénage lors du placement des caractères ( |
pixelsize |
int |
Taille en pixels de la police (16 par défaut) |
strikeout |
bool |
Si le texte doit être barré ( |
text |
string |
Texte |
underline |
bool |
Si le texte doit être souligné ( |
valign |
string |
Alignement vertical ( |
wrap |
bool |
Si le texte est enroulé à l’intérieur des bords de l’objet ( |
Jeu de Tuiles
Attribut |
Type |
Description |
---|---|---|
backgroundcolor |
string |
Couleur en hexadécimal (#RRVVBB or #AARRVVBB) (optionnel) |
class |
string |
La classe du jeu de tuiles (depuis 1.9, optionnel) |
columns |
int |
Le nombre de colonnes de tuiles du jeu de tuiles |
fillmode |
string |
Le mode de remplissage à utiliser pour le rendu des tuiles de ce tileset ( |
firstgid |
int |
Le GID de la première tuile du jeu de tuiles |
grid |
(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 ( |
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 |
(optionnel) |
|
tilerendersize |
string |
La taille à utiliser pour le rendu des tuiles de ce tileset sur un calque de tuiles ( |
tiles |
array |
Tableau de Tuiles (optionnel) |
tilewidth |
int |
Longueur maximale des tuiles de cette collection |
transformations |
Transformations autorisées (optionnel) |
|
transparentcolor |
string |
Couleur en hexadécimal (#RRVVBB) (optionnel) |
type |
string |
|
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 |
|
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 |
id |
int |
ID local de la tuile |
image |
string |
Image représentant cette tuile (optionnel, utilisé pour les jeux de tuiles de type collection d’image) |
imageheight |
int |
Hauteur de l’image de la tuile en pixels |
imagewidth |
int |
Longueur de l’image de la tuile en pixels |
x |
int |
La position X du sous-rectangle représentant cette tuile (défaut : 0) |
y |
int |
La position Y du sous-rectangle représentant cette tuile (défaut : 0) |
width |
int |
La largeur du sous-rectangle représentant cette tuile (défaut : la largeur de l’image) |
height |
int |
La hauteur du sous-rectangle représentant cette tuile (défaut : la hauteur de l’image) |
objectgroup |
Calque de type |
|
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, remplacé par Ensembles Wang depuis la 1.5) |
type |
string |
La classe de la tuile (était sauvegardé en tant que |
Un jeu de tuiles qui associe des informations avec chaque tuile, tel que le chemin de son image, peut inclure une propriété de tableau tiles
. Chaque tuile a une propriété id
qui spécifie son ID locale dans le jeu de tuiles.
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
}
Ensemble de Wang
Attribut |
Type |
Description |
---|---|---|
class |
string |
La classe de l’ensemble Wang (depuis 1.9, optionnel) |
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 |
|
wangtiles |
array |
Tableau de tuiles Wang |
Couleur Wang
Attribut |
Type |
Description |
---|---|---|
class |
string |
La classe de la couleur Wang (depuis 1.9, optionnel) |
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 ( |
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 |
|
tileset |
Jeu de tuiles externe utilisé par le modèle (optionnel) |
|
object |
L’objet instancié par ce modèle |
Propriété
Attribut |
Type |
Description |
---|---|---|
name |
string |
Nom de cette propriété |
type |
string |
Type de la propriété ( |
propertytype |
string |
Nom du :ref:`type de propriété personnalisée <custom-property-types>, quand applicable (depuis la 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.11.1
Added
imageheight
andimagewidth
properties to image layers.
Tiled 1.10
Renommage de la propriété
class
de Tuile (Définition) et Objet entype
, pour conserver la compatibilté avec Tiled 1.8 et moins. La propriété resteclass
à d’autres endroits, étant donné qu’elle ne pouvait pas être renommée entype
partout.
Tiled 1.9
Renommage de la propriété
type
dans Tuile (Définition) et Objet enclass
.Ajout de la propriété
class
à Carte, Jeu de Tuiles, Calque, Ensemble de Wang et Couleur Wang.Ajout des propriétés
x
,y
,width
etheight
à Tuile (Définition), qui stocke le sous-rectangle de l’image d’une tuile qui sert à représenter cette tuile. Par défaut, l’image entière est utilisée.Ajout des propriétés
tilerendersize
etfillmode
à Jeu de Tuiles, ce qui affecte la façon dont les tuiles sont rendues.
Tiled 1.8
Ajout du support pour la personnalisation par l’utilisateur des types de propriétés. Une référence au type est sauvegardée en tant que le nouvelle propriété
propertytype
de Propriété.L’élément Propriété peut maintenant avoir un objet JSON quelconque en tant que
value
, dans le cas où la valeur de la propriété est une classe. Dans ce cas la propriététype
est mise à la nouvelle valeurclass
.Ajout des propriétés
parallaxoriginx
etparallaxoriginy
à Carte.Ajout des propriétés
repeatx
etrepeaty
à Calque (ne s’applique qu’aux calques d’images pour le 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
etedgecolors
d’une collection Wang ont été unifiées dans la nouvelle propriétécolors
et un champtype
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
etvflip
des tuiles Wang (support abandonné).Ajout des propriétés
parallaxx
etparallaxy
à l’objet Calque.
Tiled 1.4
Ajout de
objectalignment
à l’objet jeu de tuiles.Ajout de
tintcolor
à l’objet calque.Ajout de
object
en tant que type possible de Propriété.
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
ettilepropertytypes
ont été enlevées.
Tiled 1.1
Ajout d’un format de données fragmenté, couramment utilisé pour les cartes infinies.
Les modèles ont été ajoutés. Les modèles peuvent être stocké en tant que fichiers JSON avec un objet modèle.
Les jeux de tuiles peuvent maintenant contenir des Collections de Terrains. Elles sont sauvegardées dans le nouvel objet collection Wang (depuis Tiled 1.1.5).