draw_tile

La description

Avec cette fonction, vous pouvez dessiner n'importe quelle tuile d'un jeu de tuiles - en compétition avec les rotations, les retournements et les miroirs - en réglant le cadre (s'il est animé) et la position dans la pièce. La valeur ID de l'ensemble de mosaïques est l'index d'ensemble de mosaïques défini dans l'EDI et les données de mosaïque sont les données "blob" qui contiennent toutes les informations sur l'index de mosaïque et les transformations qui ont été appliquées. Vous pouvez utiliser la fonction tilemap_get pour obtenir les données de tuiles qui peuvent ensuite être manipulées en utilisant les fonctions de tuiles, ou vous pouvez le construire vous-même en utilisant les constantes de tuiles suivantes avec la valeur d'index de la tuile à créer:

Constant La description
tile_rotate Utilisé pour définir / obtenir le bit de rotation d'un blob de données de tuile.
tile_mirror Utilisé pour définir / obtenir le bit miroir d'un blob de données de tuile.
tile_flip Utilisé pour définir / obtenir le bit de bascule d'un blob de données de tuile.
tile_index_mask Une constante spéciale pour "et" -ing avec le blob de données de mosaïque pour extraire l'index de mosaïque.


Vous auriez bitwise "ou" ces constantes avec la valeur d'index de tuile pour obtenir le tiledata final:

var tiledata = 8 | tile_rotate | tile_flip;


Le code ci-dessus crée simplement une variable locale pour stocker la mosaïque pour la mosaïque avec l'indice de 8 sur l'ensemble de tuiles, et elle est tournée et retournée. Cela peut ensuite être utilisé pour dessiner la mosaïque à cet index à partir de l'ensemble de tuiles que vous spécifiez. ce n'est pas lié à une couche de tilemap et la tuile sera dessinée à la profondeur de couche de l'instance faisant le dessin, à la position x / y que vous spécifiez dans la pièce. Notez que vous pouvez également définir le cadre à dessiner aussi. Si la mosaïque indexée fait partie d'un ensemble d'animation, vous pouvez définir ici le numéro d'image (de 0 au nombre d'images - 1) et la mosaïque indexée sera simplement l'indicateur du jeu de dalles animées que vous utiliserez être l'image donnée qui est dessinée. Si la mosaïque ne fait pas partie d'un ensemble animé, l'image doit être définie sur 0.


Syntaxe:

draw_tile(tile set, tiledata, frame, x, y)


Arguments:

Argument La description
tile set L'identifiant de l'ensemble de tuiles à utiliser
tiledata Les données de tuiles à utiliser
frame Le numéro d'image de la vignette animée à utiliser (0 par défaut pour les vignettes non animées)
x La position x dans la pièce pour dessiner à
y La position y dans la pièce pour dessiner à


Résultats:

Real


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);
tile_set_flip(data, true);
draw_tile(set_Wall, data, 0, x, y);

Le code ci-dessus obtiendra les données sur une tuile à partir du tilemap donné, puis fixera le drapeau "flip" et utilisera ces données pour dessiner la tuile retournée à la position de l'instance.


Retour: Dessin de sprites et de carreaux
suivant: draw_tile_ext
© Copyright YoYo Games Ltd. 2017 Tous droits réservés