tilemap_get


La description

En utilisant cette fonction, vous pouvez récupérer les données de la tuile d'une cellule de l'élément tilemap. Vous donnez l'ID de l'élément tilemap (que vous obtenez lorsque vous créez un élément tilemap en utilisant layer_tilemap_create() ou lorsque vous utilisez la fonction layer_tilemap_get_id() ), ainsi que la position des cellules x et y et la fonction retournera les données de pavé "blob". Ces données sont essentiellement un masque de bits qui contient l'index de tuiles, les booléens flip / rotate / mirror et toutes les données de masque qui ont été appliquées (voir tilemap_set_mask pour plus de détails), la valeur de données résultante peut ensuite être utilisée dans les fonctions de mosaïque pour modifier les propriétés d'une mosaïque. Notez que nous utilisons des positions de cellules x / y basées sur la taille de la grille de tilemap et non comme une position dans la pièce, donc "cell_x" est une valeur de 0 à la largeur de tilemap, et "cell_y" est une valeur de 0 à hauteur du tilemap. Si vous devez obtenir les données d'une case à une position de pièce spécifique, vous devez utiliser la fonction tilemap_get_at_pixel().

IMPORTANT! Si les tuiles dans le tilemap n'ont pas été changées (c'est-à-dire: elles ne sont pas tournées ou retournées, etc...), la valeur de retour des données du jeu de carreaux sera exactement égale à l'indice du carreau. Vous pouvez donc créer des "cartes de collision" de tuiles en utilisant une tuile à l'index 1 dans le jeu de tuiles - par exemple - puis utiliser cette fonction pour vérifier 1 ou 0 (une tuile vide) pour calculer les collisions.


Syntaxe:

tilemap_get(tilemap_element_id, cell_x, cell_y);


Arguments:

Argument La description
tilemap_element_id La valeur d'ID unique de l'élément tilemap pour obtenir la mosaïque de
x_cell La cellule le long de l'axe des x pour obtenir les données de tuile de
y_cell La cellule le long de l'axe des y pour obtenir les données de tuile de


Résultats:

Real (-1 if there is an error)


Exemple:

var lay_id = layer_get_id("Tiles_sky");
var map_id = layer_tilemap_get_id(lay_id);
var data = tilemap_get(map_id, 0, 0);
data = tile_set_flip(data, true);
tilemap_set(map_id, data, 0, 0);

Le code ci-dessus obtient l'ID pour le tilemap sur le calque "Tiles_Sky" et l'utilise ensuite pour obtenir les données de la mosaïque à la cellule (0, 0). Ces données de tuile sont ensuite retournées avant d'être utilisées pour redéfinir la tuile sur la tilemap.