Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Jesed en Enero 10, 2011, 06:37:54 AM

Título: Problema con enemigo
Publicado por: Jesed en Enero 10, 2011, 06:37:54 AM
Gente tengo una duda acerca de un codigo.

Veran tengo el siguiente codigo para la I.A. de mis enemigos basicos.

gravity = 5
if distance_to_object(obj_jugador)<350 and
!collision_line(x,y,obj_jugador.x,obj_jugador.y,obj_solid,0,0)
{
sees_player=true
move_towards_point(obj_jugador.x,obj_jugador.y,1.2)
if obj_Pulseman.x<x
 {image_xscale=-1}
if obj_jugador.x>x
 {image_xscale=1}
image_speed=0.3
}
else
{
image_speed=0
sees_player=false
}

Bien el problema es que quiero, que cuando este colisione con algun ataque del jugador, el enemigo salga empujado ligeramente hacia atras.
El problema es que intento con el evento colision y nada.

Lo que me viene a la mente es que como no hay parte de ese codigo que diga que cuando colisione contra el ataque deje de seguir al jugador.

Me serviria mucho un codigo que cuando colisiona contra un ataque, se salga del evento de seguir al jugador para que pase lo que quiero.

De antemano gracias, si alguien me ayuda y desea estar en los creditos esta mas que concedido.
Título: Re: Problema con enemigo
Publicado por: Texic en Enero 10, 2011, 07:01:26 AM
Ser?a mejor trabajar con direcciones y velocidades con aceleraci?n que con move_towards_point, pero bueno, simplemente agrega una condicional al if

gravity = 5
if distance_to_object(obj_jugador)<350 and !collision_line(x,y,obj_jugador.x,obj_jugador.y,obj_solid,0,0) and hit=0
{
sees_player=true
move_towards_point(obj_jugador.x,obj_jugador.y,1.2)
if obj_Pulseman.x<x
  {image_xscale=-1}
if obj_jugador.x>x
  {image_xscale=1}
image_speed=0.3
}
else
{
image_speed=0
sees_player=false
}

Y luego en el evento de colision con el ataque, le pones hit=1 alarm[0]=25 speed=3 friction=.1 direction=point_direction(other.x,other.y,x,y)
Y en la alarma 0 le das a hit=0 speed=0 friction=0
Obviamente pod?s acomodar esos valores q los mand? asi nom?s pero esa ser?a la idea
Título: Re: Problema con enemigo
Publicado por: cristalbeast en Enero 10, 2011, 07:01:52 AM
Puedes poner en el objeto enemigo un evento de colici?n con los ataques y en el code

if obj_Pulseman.x<x
 x+=10;
if obj_jugador.x>x
 x-=10;
Título: Re: Problema con enemigo
Publicado por: Jesed en Enero 10, 2011, 07:21:08 AM
Muchas gracias por sus respuestas.

Texic, la manera que me indicaste funciono perfecto gracias!
Título: Re: Problema con enemigo [Solucionado]
Publicado por: Rubeno en Enero 17, 2011, 10:37:41 PM
Bueno pon solucionado al titulo...ke vine a ayudar y no pude xD..

Bueno suerte con tu proyecto men..

Pon siempre solucionado al titulo cuando este solucionado