mp_grid_add_instances

Syntaxe:

mp_grid_add_instances(id, obj, prec);


Argument La description
id Index du mp_grid à utiliser
obj Indice d'objet, ou identifiant d'instance, des instances à ajouter dans le mp_grid
prec Si la vérification est basée sur des collisions pixel-parfait (vrai = lent) ou sa boîte englobante en général (faux = rapide).


Retours: N / A


La description

Cette fonction utilise le masque de collision d'instance (décidé par les propriétés d'image-objet ou l'index de masque de l'instance appelante) pour marquer les cellules comme interdites ou non, où les cellules interdites ne peuvent être croisées par aucune des fonctions de pathfinding. Vous pouvez spécifier dans la fonction si des collisions précises doivent ou non être prises en compte et les cellules interdites marquées changeront en fonction de ce paramètre. Cette image illustre ce comportement:

Les deux instances ci-dessus ont été ajoutées dans mp_grid à l'aide de la fonction mp_grid_add_instances avec la précision étant définie sur true. Comme vous pouvez le voir, l'instance verte n'a marqué que les carrés de la grille qu'elle "touche" comme interdits, du fait que son masque de sprite est également défini pour être précis. Cependant, la seconde instance a également marqué d'autres cellules qui ne semblent pas toucher. Cela est dû au fait que le masque d'image-objet n'est pas défini avec précision, ce qui signifie que même si vous utilisez le paramètre précis dans la fonction, seul le cadre de sélection de l'image-objet sera pris en compte. C'est aussi ce qui arriverait si vous définissiez l'argument précis de la fonction sur false - même les instances avec un masque d'image-objet précis seront ajoutées à la grille en fonction de leurs limites.


Exemple:

mp_grid_add_instances(grid, obj_Wall, 1);

Le code ci-dessus va ajouter toutes les instances de "obj_Wall" dans le mp_grid indexé dans la variable "grid" en utilisant le masque de collision précise plutôt que la boîte englobante.