Buenas, estoy intentando hacer un juego top down view (perspectiva cenital) y he utilizado la función mp_potential_step para que los enemigos caminen hacia el jugador, evitando los obstáculos del camino.
En las versiones previas del juego, cuando los enemigos no tenían sprites asignados aún, funcionaba bien. Al llegar al obstáculo lo rodeaban, pero al ponerle el sprite y utilizar el código "image_angle = direction" es cuando han llegado los problemas y ahora los enemigos se quedan parados y dando vueltas sobre si mismos al llegar al obstáculo. No entiendo por que el ángulo con el que se muestra el sprite influye en el movimiento.
Si alguien sabe a que puede ser debido o conoce otra función para sustituir la de mp_potencial_step se lo agradezco de antemano.
Si modificas el angulo de la imagen, modificas también la caja de colisión, por lo que te recomiendo mejor poner este código en el evento draw: draw_sprite_ext(sprite_index,image_index,x,y,1,1,direction,image_blend,1)
Así la imagen cambia de angulo pero la caja de colisión permanece estable.
Si la máscara de colisión del enemigo es cuadrada, podrías probar a hacerla circular, por lo que para efectos de colisión, ya no le afectaría la rotación..
Gracias a los dos, funcionó a la perfección con la función draw_sprite_ext(sprite_index,image_index,x,y,1,1,direction,image_blend,1)