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 |
|
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 |
|
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 |
The class of the layer (since 1.9, optional) |
compression |
string |
|
data |
tableau ou chaîne de caractères |
Tableau |
draworder |
string |
|
encoding |
string |
|
height |
int |
Row count. Same as map height for fixed-size maps. |
id |
int |
ID incrémental - unique pour tous les calques |
image |
string |
Image utilisée pour ce calque. Seulement pour les |
layers |
array |
Tableau de calques. Seulement pour les |
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 |
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. |
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 |
Column count. Same as map width for fixed-size maps. |
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 |
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 |
The class of the object (was saved as |
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 |
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 ( |
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 |
The size to use when rendering tiles from this tileset on a tile layer ( |
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 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 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 of terrain for each corner of tile (optional, replaced by Wang sets since 1.5) |
type |
string |
The class of the tile (was saved as |
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
}
Ensemble de 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 |
|
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 ( |
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 of the property ( |
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.10
Renamed the
class
property on Tuile (Définition) and Objet back totype
, to keep compatibility with Tiled 1.8 and earlier. The property remainsclass
in other places since it could not be renamed totype
everywhere.
Tiled 1.9
Renamed the
type
property on Tuile (Définition) and Objet toclass
.Added
class
property to Carte, Jeu de Tuiles, Calque, Ensemble de Wang and Couleur Wang.Added
x
,y
,width
andheight
properties to Tuile (Définition), which store the sub-rectangle of a tile’s image used to represent this tile. By default the entire image is used.Added
tilerendersize
andfillmode
properties to Jeu de Tuiles, which affect the way tiles are rendered.
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 thetype
property is set to the new valueclass
.Added
parallaxoriginx
andparallaxoriginy
properties to Carte.Added
repeatx
andrepeaty
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
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é).Added
parallaxx
andparallaxy
properties to the Calque object.
Tiled 1.4
Ajout de
objectalignment
à l’objet jeu de tuiles.Ajout de
tintcolor
à l’objet calque.Added
object
as possible type of 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).