Enero 10, 2011, 06:37:54 AM Ultima modificación: Enero 10, 2011, 06:40:38 AM por Jesed
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.

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




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;

Muchas gracias por sus respuestas.

Texic, la manera que me indicaste funciono perfecto gracias!

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