mp_potential_step

Syntaxe:

mp_potential_step(xgoal, ygoal, stepsize, checkall)


Argument La description
xgoal La position x cible.
ygoal La position y cible.
stepsize La vitesse de déplacement de l'occurrence en pixels par étape.
checkall Que ce soit pour vérifier toutes les instances (vrai) ou simplement les solides (faux).


Renvoie: Booléen.


La description

Cette fonction permet à l'instance de faire un pas vers une position particulière définie par xgoal / ygoal, tout en essayant d'éviter les obstacles. Lorsque l'instance est exécutée sur une instance solide (ou toute instance lorsque checkall est vrai), elle change la direction du mouvement pour essayer d'éviter cette instance et de la contourner. Cette approche n'est pas garantie pour fonctionner, mais dans la plupart des cas, elle permettra de déplacer efficacement l'instance vers l'objectif. La fonction retourne si l'objectif a été atteint ou non.


Exemple:

if instance_exists(obj_Enemy)
   {
   var inst;
   inst = instance_nearest(x, y, obj_Enemy);
   mp_potential_step(inst.x, inst.y, 5, false);
   }

Le code ci-dessus vérifie d'abord s'il existe des instances de "obj_Enemy" dans la pièce. S'il y en a, alors il trouve le plus proche et stocke son identifiant dans une variable. Cette variable est ensuite utilisée pour dire mp_potential_step pour déplacer l'instance avec le code vers la position x / y de l'objet qui a été trouvé à une vitesse de 5 pixels par pas tout en évitant seulement les instances signalées comme solides.