Hola amigos.

?Saben c?mo puedo indicar en el siguiente c?digo que el enemigo aumente la velocidad y cambie a un determinado sprite cuando el obj_personaje est? a 100 p?xeles en horizontal?

argument0=obj_personaje;

if distance_to_object(obj_personaje)<100{}

Les agradezco cualquier ayuda o explicaci?n. Un saludo.

Creo q lo q buscas es algo asi
if abs(x-obj_personaje.x)<100{}




if(abs(distance_to_object(obj_personaje)-100)<5)//5 es el margen de error

Yo no me fio mucho con el distance_to_object(), uso mejor el m?todo de Texic

if(abs(x-obj_personaje_principal.x)<100)
    {
    sprite_index=spr_corriendo
    hspeed=nueva velocidad
    }
else
    {
    sprite_index=spr_caminando
    hspeed=velocidad antigua
    }

-Esto va en step.
-x-obj_personaje_principal.x va a checar la distancia del enemigo al        personaje.
-abs() devuelve la distancia con signo positivo.
-sprite_index cambiar el sprite
-hspeed velocidad

Espero que algo as? te pueda ayudar, si  no, esa es la idea general jejeje

Hola, much?simas gracias a todos por contestar.

Les dir? el efecto que estoy buscando, porque quiz? este script no sea el m?s adecuado para conseguirlo. Quiero que el enemigo se comporte como el jugador del f?tbol americano del Super Mario World, que corr?a hacia el jugador cuando este se acercaba. Algo he conseguido, pero falla por ejemplo en cuanto tiene que cambiar el sprite del enemigo seg?n est? el jugador a la derecha o a la izquierda.

(evento Step del enemigo)

if distance_to_object(obj_personaje)<100{

if sprite_index=enemigo_D{sprite_index=enemigo_corriendo_D;}
if sprite_index=enemigo_I{sprite_index=enemigo_corriendo_I;}
hspeed=4
}

if distance_to_object(obj_personaje)>100{

if sprite_index=enemigo_corriendo_D{sprite_index=enemigo_D;}
if sprite_index=enemigo_corriendo_I{sprite_index=enemigo_I;}
hspeed=2
}

Les ruego cualquier ayuda o sugerencia. Un saludo.

if x>obj_personaje.x {sprite_index=enemigo_D}
else obj_personaje.x {sprite_index=enemigo_I}

if distance_to_object(obj_personaje)<100{
if sprite_index=enemigo_D{sprite_index=enemigo_corriendo_D;}
if sprite_index=enemigo_I{sprite_index=enemigo_corriendo_I;}
hspeed=4
}

if distance_to_object(obj_personaje)>100{
if sprite_index=enemigo_corriendo_D{sprite_index=enemigo_D;}
if sprite_index=enemigo_corriendo_I{sprite_index=enemigo_I;}
hspeed=2
}

Pues ahi seria algo como lo que quieres. Date cuenta de que la sprite, por ej enemigo_D, se cambia en el principio del codigo, luego con esa como base chequea y pone la sprite para correr, es un punto de referencia, no es que siempre vas a ver la sprite enemigo_D. Mejor confia en mi y pruebalo  XD