mp_linear_step_object(xgoal, ygoal, stepsize, obj);
| 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. |
| obj | L'objet qui doit bloquer le chemin. Peut être un index d'objet, un identifiant d'instance ou le mot-clé spécial, tous |
Renvoie: Booléen.
Avec cette fonction, vous dites à une instance de faire un "pas" vers un point spécifique, spécifié par les valeurs xgoal et ygoal. La taille de l'étape (qui est le nombre de pixels que l'instance doit déplacer à chaque étape) est indiquée par le pas, et si l'instance est déjà à la position, elle s'arrête et ne bouge plus, contrairement à d'autres fonctions plus simples move_towards_point. Le stepize est également la distance "en avant" que l'objet va vérifier chaque étape pour une collision, et vous pouvez choisir si l'instance s'arrête à une collision avec un objet ou une instance de votre choix.
if mp_linear_step_object(mouse_x, mouse_y, 5,
obj_Wall)
{
instance_create_layer(x, y, "Effects",
obj_Explosion);
instance_destroy();
}
Le code ci-dessus va faire bouger l'objet vers la souris à une vitesse de 5 pixels par pas, en vérifiant uniquement les collisions avec l'objet "obj_Wall". Une fois qu'il atteint la position de la souris, il crée un objet "obj_Explosion" et se détruit lui-même.