Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: malissimofilms en Mayo 13, 2011, 12:23:25 PM

Título: Enemigos que te persiguen y que cambien de sprite al perseguirte. (Solucionado)
Publicado por: malissimofilms en Mayo 13, 2011, 12:23:25 PM
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.
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte.
Publicado por: slampdesign en Mayo 13, 2011, 05:48:25 PM
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
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte.
Publicado por: 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
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte.
Publicado por: malissimofilms en Mayo 13, 2011, 09:35:55 PM
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
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte.
Publicado por: 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}
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte.
Publicado por: malissimofilms en Mayo 13, 2011, 10:47:29 PM
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
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte. (Solucionado)
Publicado por: Masterkey en Mayo 13, 2011, 10:49:49 PM
En step.. Funciona para un plataformas.
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte. (Solucionado)
Publicado por: 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]
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte. (Solucionado)
Publicado por: Masterkey en Mayo 15, 2011, 11:27:41 PM
Ups! Creo que se me olvid? xD pero s?.
Título: Re: Enemigos que te persiguen y que cambien de sprite al perseguirte. (Solucionado)
Publicado por: malissimofilms en Mayo 16, 2011, 10:10:23 AM
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