Travailler avec des Calques

Une carte Tiled supporte des types de contenus variés, et ce contenu est organisé dans de différents calques variés. Les calques les plus communs sont les Calques de Tuiles et les Calques d’Objets. Il existe aussi des Calques d’Images pour inclure de simples graphismes d’avant-plan ou d’arrière-plan. L’ordre des calques détermine l’ordre de rendu de votre contenu.

Les calques peuvent être cachés, rendus partiellement visible et peuvent être verrouillés. Les calques ont aussi un décalage et un facteur de défilement de parallaxe, qui peut être utilisé pour les disposer de façon indépendante des autres, pour par exemple simuler de la profondeur. Finalement, leur contenu peut être teinté en le multipliant par une couleur de teinte personnalisée.

Layers View

L’icône d’œil et de cadenas activent/désactivent respectivement la visibilité et l’état de verrouillage du calque.

Vous pouvez utiliser des Groupes de Calques pour organiser les calques dans une hiérarchie. Cela permet de rendre le travail avec beaucoup de calques plus confortable.

Types de Calques

Calques de Tuiles

Les calques de tuiles fournissent un moyen efficace de stocker une grande aire remplie de données de tuiles. Ces données sont un simple tableau de références de tuiles et ne peuvent donc pas stocker d’informations additionnelles pour chaque location. Les seules données supplémentaires qui sont stockées sont quelques drapeaux, qui permettent au graphismes des tuiles d’être inversés verticalement, horizontalement ou anti-diagonalement (pour supporter la rotation par incréments de 90 degrés).

L’information requise pour générer un rendu pour chaque calque de tuiles est stocké dans la carte, qui spécifie la position et l’ordre de rendu des tuiles basé sur l’orientation et des propriétés de tuiles diverses.

Même s’ils ne peuvent que référer des tuiles, les calques de tuiles peuvent être utiles pour définir des morceaux d’informations non-graphiques dans votre niveau. Les informations de collision peuvent souvent être portées en utilisant un jeu de tuiles spécial, et tout objet qui n’a pas besoin de propriété personnalisée et qui est toujours aligné avec la grille peut aussi être placé sur un calque de tuiles.

Calques d’Objets

Les calques d’objets sont utiles car ils peuvent stocker beaucoup de types d’informations qui ne rentrent pas dans un calque de tuiles. Les objets peuvent être positionnés librement, redimensionnés et pivotés. Ils peuvent aussi avoir des propriétés personnalisées individuelles. Il y a plein de types d’objets :

  • Rectangle - pour baliser des aires rectangulaires

  • Ellipse - pour baliser des aires d’ellipse ou circulaires personnalisées

  • Point - pour baliser des locations exactes (depuis Tiled 1.1)

  • Polygone - pour quand un rectangle ou un cercle n’est pas suffisant (souvent une aire de collision)

  • Polyligne - peut être un chemin à suivre ou un mur de collision

  • Tuile - pour placer, redimensionner et tourner librement votre graphisme de tuile

  • Texte - pour des notes ou un texte personnalisé (depuis Tiled 1.0)

All objects can be named, in which case their name will show up in a label above them (by default only for selected objects). Objects can also be given a class, which is useful since it can be used to customize the color of their label and the available custom properties for this object. For tile objects, the class can be inherited from their tile.

Pour la majorité des types de cartes, les objets sont positionnées dans des pixels entiers. La seule exception à ceci sont les cartes isométriques (pas isométriques échelonnées). Pour les cartes isométriques, il a été jugé utile de stocker ses positions dans des coordonnées spatiales projetées. Pour ceci, les tuiles isométriques sont supposées représenter des carrés projetés avec les deux côtés égaux à la hauteur de la tuile. si vous utilisez un espace coordonné différent pour les objets dans votre jeu isométrique, vous aurez besoin de convertir ces coordonnées respectivement.

La longueur et la hauteur de l’objet est aussi stockés majoritairement en tant que pixels. Pour les cartes isométriques, tous les objets de formes (rectangle, point, ellipse, polygone et polyligne) sont projetés dans le même espace coordonné décrit ci-dessus. C’est basé sur l’hypothèse que ces objets sont généralement utilisés pour baliser des aires sur la carte.

Calques d’Images

Image layers provide a way to quickly include a single image as foreground or background of your map. They currently have limited functionality and you may consider adding the image as a Tileset instead and place it as a Tile Object. This way, you gain the ability to freely scale and rotate the image.

However, image layers can be repeated along the respective axes through their Repeat X and Repeat Y properties.

The other advantage of using an image layer is that it avoids selecting / dragging the image while using the Select Objects tool. However, since Tiled 1.1 this can also be achieved by locking the object layer containing the tile object you’d like to avoid interacting with.

Since Tiled 1.0

Groupes de Calques

Les groupes de calques marchent comme des dossiers et peuvent être utilisés pour organiser les calques dans une hiérarchie. C’est surtout utile lorsque votre carte contient un grand nombre de calques.

La visibilité, l’opacité, le décalage, le verrouillage et la couleur de teinte d’un groupe de calques affectent tous ses calques enfants.

Les calques peuvent être facilement glissés dans ou en dehors de groupes avec la souris. Les actions Monter le Calque / Descendre le Calque vous permettent aussi de déplacer les calques dans ou en dehors des groupes.

Since Tiled 1.5

Facteur de Défilement de Parallaxe

Le facteur de défilement de parallaxe détermine la distance par laquelle le calque bouge par rapport à la caméra.

Par défaut sa valeur est 1, ce qui veut dire que sa position sur l’écran change à la même vitesse que la position de la caméra (dans la direction opposée). Une valeur plus petite le fera bouger plus lentement, simulant un calque qui est éloigné, là où une valeur plus grande le fera bouger plus rapidement, simulant un calque entre l’écran et la caméra.

Une valeur de 0 ne fait pas bouger le calque du tout, ce qui peut être utile pour inclure des éléments de votre interface graphique en jeu ou pour baliser les bords de la fenêtre d’affichage générale.

Des valeurs négatives bougent le calque dans la direction opposée, cependant c’est rarement utile.

Quand le facteur de défilement de parallaxe est donné sur un groupe de calques, il s’applique à tous ses calques enfants. Le facteur de défilement de parallaxe effectif est déterminé en multipliant le facteur de défilement de parallaxe par le facteur de défilement de tous les calques parents.

Parallax Reference Point

To match not only the scrolling speed but also the positioning of layers, we need to use the same points of reference. In Tiled these are the parallax origin and the center of the view. The parallax origin is stored per map and defaults to (0,0), which is the top-left of the maps bounding box. The distance between these two points is multiplied by the parallax factor to determine the final position on the screen for each layer. For example:

  • If the parallax origin is in the center of the view, the distance is (0,0) and none of the parallax factors have any effect. The layers are rendered where they would have been, if parallax was disabled.

  • Now, when the map is scrolled right by 10 pixels, the distance between the parallax origin and the center of the view is 10. So a layer with a parallax factor of 0.7 will have moved just 0.7 * 10 = 7 pixels.

Quite often, a viewport transform is used to scroll the entire map. In this case, one may need to adjust the position of each layer to take its parallax factor into account. Instead of multiplying the distance with the parallax factor directly, we now multiply by 1 - parallaxFactor to get the layer position. For example:

  • When the camera moves right by 10 pixels, the layer will have moved 10 pixels to the left (-10), so by positioning the layer at 10 * (1 - 0.7) = 3, we’re making sure that it only moves 7 pixels to the left.

Since Tiled 1.4

Teindre des Calques

Quand vous définissez la propriété Couleur de Teinte d’un calque, cela affecte la façon dont les calques sont rendus. Cela inclut les tuiles, les objets tuiles et les images dans un Calque d’Images.

Chaque valeur de couleur de pixel est multipliée par la couleur de teinte. De cette façon vous pouvez assombrir ou colorier vos graphismes de plusieurs façons sans avoir besoin de mettre en place des images séparées pour cela.

Tint Color Example

Un jeu de tuiles gris rendu dans une couleur différente pour chaque calque.

La couleur de teinte peut aussi être définie sur un Groupe de Calques, et dans ce cas elle est héritée par tous les calques de ce groupe.

Futures Extensions

Il y a plusieurs moyens par lesquels les calques peuvent être rendus plus puissants :

  • Capacité de verrouiller des objets individuels (#828).

  • Déplacement de certaines propriétés globales de la carte vers le Calque de Tuiles (#149). Ça peut être utile si une carte gère des calques utilisant des tuiles de taille différente et peut-être même d’orientation différente.

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