Mayo 13, 2011, 12:23:25 PM Ultima modificación: Mayo 13, 2011, 09:36:35 PM por malissimofilms
Buenas, ?Qu? hay que hacer para que al estar a cierta distancia del enemigo este te persiga y que al perseguirte cambie de sprite?, ah y tambi?n cuando te alejas del enemigo y que deje de perseguirte que vuelva a tener el sprite de antes.

Bueno aqui tienes algo:

Evento STEP del enemigo:

[gml]if distance_to_object(enemigo)=20//prueba la distancia entre objetos
{move_towards_point(enemigo.x,enemigo.y,speed)}///AQUI TAMBIEN PUEDES USAR FUNCIONES COMO mp_potential_step_object() para perseguir al enemigo
[/gml]

Espero te sirva

Hola el codigo que te dieron esta bien solo cambia esto:

[gml]
if distance_to_object(enemigo)<30
{
sprite_index=sprite1
move_towards....//igual que la respuesta anterior
}
else
image_index=sprite0
[/gml]

disculpa si ay errores estoi desde mi cel en el trabajo jeje

Cita de: ArcariaOnline en Mayo 13, 2011, 07:10:13 PM
Hola el codigo que te dieron esta bien solo cambia esto:

[gml]
if distance_to_object(enemigo)<30
{
sprite_index=sprite1
move_towards....//igual que la respuesta anterior
}
else
image_index=sprite0
[/gml]

disculpa si ay errores estoi desde mi cel en el trabajo jeje

Muchas gracias a los dos por las respuestas, me han ayudado :D

El c?digo para perseguir que te han dado est?n geniales, pero para que cambie de sprite usa if hspeed>1{sprite_index=izquierda} else if hspeed<-1{sprite_index=derecha}

Cita de: Masterkey en Mayo 13, 2011, 09:36:37 PM
El c?digo para perseguir que te han dado est?n geniales, pero para que cambie de sprite usa if hspeed>1{sprite_index=izquierda} else if hspeed<-1{sprite_index=derecha}

?Y donde tengo que ponerlo?, porque no me funciona :S


Cita de: Masterkey en Mayo 13, 2011, 10:49:49 PM
En step.. Funciona para un plataformas.

Bueno, en realidad va en el evento "END STEP", otro parecido y que cumple la misma funcion es este:

[gml]
//// Para la derecha e izquierda
if x > xprevious
{sprite_index=sprite_derecha}
else
if x < xprevious
{sprite_index=sprite_izquierda}

////Y para arriba y abajo:
if y > yprevious
{sprite_index=sprite_abajo}
else
if y < yprevious
{sprite_index=sprite_arriba}
[/gml]


Cita de: slampdesign en Mayo 15, 2011, 11:12:41 PM
Cita de: Masterkey en Mayo 13, 2011, 10:49:49 PM
En step.. Funciona para un plataformas.

Bueno, en realidad va en el evento "END STEP", otro parecido y que cumple la misma funcion es este:

[gml]
//// Para la derecha e izquierda
if x > xprevious
{sprite_index=sprite_derecha}
else
if x < xprevious
{sprite_index=sprite_izquierda}

////Y para arriba y abajo:
if y > yprevious
{sprite_index=sprite_abajo}
else
if y < yprevious
{sprite_index=sprite_arriba}
[/gml]

Gracias, me ha funcionado.  :P