Marzo 13, 2011, 05:53:20 PM Ultima modificación: Marzo 16, 2011, 02:04:33 AM por p34
Hola.
Estoy haciendo un juego donde tu eres un fantasma y no se como hacer para que cuando tu estas a la derecha del enemigo el corra a la izquierda y viceversa pero solo cuando estas a una corta distancia.
Gracias
Una persona puede equivocarse mil veces pero solo fracasa cuando le echa la culpa a otro por sus errores

Pues pones en el evento step de tu enemigo esto [gml]if distance_to_object(personaje)<100{x-=sign(personaje.x-x)}[/gml]
cambia el 100 por la distancia  y donde dice personaje c?mbialo por el nombre del objeto al que huye.

#2 Marzo 13, 2011, 06:09:16 PM Ultima modificación: Marzo 13, 2011, 06:16:18 PM por p34
Cita de: brunoxzx en Marzo 13, 2011, 06:07:32 PM
Pues pones en el evento step de tu enemigo esto [gml]if distance_to_object(personaje)<100{x-=sign(personaje.x-x)}[/gml]
cambia el 100 por la distancia  y donde dice personaje c?mbialo por el nombre del objeto al que huye.
si sirve ya que a esa distancia el enemigo empieza a moverse pero como le hago para que el sprite del enemigo se voltee hacia el lado al que corre. estoy usando image_xscale
Una persona puede equivocarse mil veces pero solo fracasa cuando le echa la culpa a otro por sus errores

Para eso usa: if image_xscale=-1{sprite_index=spr_derecha} else {sprite_index=spr_izquierda}

#4 Marzo 13, 2011, 06:45:44 PM Ultima modificación: Marzo 13, 2011, 06:48:06 PM por brunoxzx
pues as?.

[gml]if distance_to_object(personaje)<100{image_xscale=sign(x-personaje.x) x+=image_xscale*5}[/gml]

Edit: hey master no creo que se refiera a eso con image_xscale.

#5 Marzo 13, 2011, 07:15:28 PM Ultima modificación: Marzo 13, 2011, 07:17:25 PM por p34
No se que estoy haciendo mal pero aunque este lejos se mueve el enemigo :-\ :(
aqui les dejo el ejecutable haber si me pueden decir que pasa
el enemigo se llama o_e_1
gracias por la ayuda
Una persona puede equivocarse mil veces pero solo fracasa cuando le echa la culpa a otro por sus errores

El problema es que en el evento step habias puesto esto.
[gml]move_contact_solid(direction,8);[/gml] solo quitalo y ya.

Ok
:) muchas gracias por tu ayuda, de verdad la valoro y te pondre en los creditos

Masterkey gracias por aportar algo aunque te aclaro que con image_xscale ya no ocupas un sprite para la derecha y otro para la izquierda XD
Una persona puede equivocarse mil veces pero solo fracasa cuando le echa la culpa a otro por sus errores

Por nada que bueno que te sirvi? pero no me pongas en los cr?ditos (enserio no lo hagas)

O s?, eso... En serio se me olvid?. Pero lo del principio te sirvi?? Fui el primero en responder. Ok.