Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: zHeMaa en Noviembre 07, 2014, 05:52:59 PM

Título: Mis enemigos colisionan con todo
Publicado por: zHeMaa en Noviembre 07, 2014, 05:52:59 PM
Buenas, mi problema es que he implementado sangre en mi proyecto y mis enemigos colisionan con todo, que pasa que al matarlos tambien colisionan con la sangre como si fueran arboles por ejemplo, y sinceramente eso es un gran problema..

os dejo el código del zombie y haber si puedo cambiar algo, gracias (:

CREATE:
setSpeed = 0.5;

image_speed = setSpeed;
image_index = 0;

walkingSpeed = 1; //Velocidad de movimiento
hitpoints = 100; //HP Máxima

//Sistema de particulas
Sname = part_system_create();
particle1 = part_type_create();
part_type_shape(particle1,pt_shape_disk);
part_type_size(particle1,0.01,0.10,0,0);
part_type_scale(particle1,1,1);
part_type_color3(particle1,128,191,255);
part_type_alpha3(particle1,1,0.30,0.10);
part_type_speed(particle1,0.10,3,0,0);
part_type_direction(particle1,0,360,0,0);
part_type_gravity(particle1,0,250);
part_type_orientation(particle1,0,0,0,0,1);
part_type_blend(particle1,0);
part_type_life(particle1,15,30);


STEP:
//Movimiento hacia el Jugador
image_angle = point_direction(x,y,obj_jugador.x,obj_jugador.y);
mp_potential_step(obj_jugador.x,obj_jugador.y,walkingSpeed,true);

//Crea la sangre cuando el enemigo muere
if (hitpoints <= 0)
  {
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre2)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre2)
  instance_destroy()
  }


COLISION (con la bala para que cuando le de le baje la vida y muera)
part_particles_create(Sname,x,y,particle1,120);
with(other) instance_destroy();
hitpoints -= 100;


Y en "Visible", "Solid".. etc, solo tiene marcada la opción de Visible

Tenéis comentarios para que sepáis que es cada cosa mas o menos, aun que supongo que sabréis mas que yo pero bueno..
Un saludo y gracias de antemano!
Título: Re:Mis enemigos colisionan con todo
Publicado por: TheSandBoxMKG en Noviembre 07, 2014, 07:47:10 PM
Cita de: zHeMaa en Noviembre 07, 2014, 05:52:59 PM
Buenas, mi problema es que he implementado sangre en mi proyecto y mis enemigos colisionan con todo, que pasa que al matarlos tambien colisionan con la sangre como si fueran arboles por ejemplo, y sinceramente eso es un gran problema..

os dejo el código del zombie y haber si puedo cambiar algo, gracias (:

CREATE:
setSpeed = 0.5;

image_speed = setSpeed;
image_index = 0;

walkingSpeed = 1; //Velocidad de movimiento
hitpoints = 100; //HP Máxima

//Sistema de particulas
Sname = part_system_create();
particle1 = part_type_create();
part_type_shape(particle1,pt_shape_disk);
part_type_size(particle1,0.01,0.10,0,0);
part_type_scale(particle1,1,1);
part_type_color3(particle1,128,191,255);
part_type_alpha3(particle1,1,0.30,0.10);
part_type_speed(particle1,0.10,3,0,0);
part_type_direction(particle1,0,360,0,0);
part_type_gravity(particle1,0,250);
part_type_orientation(particle1,0,0,0,0,1);
part_type_blend(particle1,0);
part_type_life(particle1,15,30);


STEP:
//Movimiento hacia el Jugador
image_angle = point_direction(x,y,obj_jugador.x,obj_jugador.y);
mp_potential_step(obj_jugador.x,obj_jugador.y,walkingSpeed,true);

//Crea la sangre cuando el enemigo muere
if (hitpoints <= 0)
  {
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre2)
  instance_create(x-20+random(40),y-20+random(40),obj_sangre2)
  instance_destroy()
  }


COLISION (con la bala para que cuando le de le baje la vida y muera)
part_particles_create(Sname,x,y,particle1,120);
with(other) instance_destroy();
hitpoints -= 100;


Y en "Visible", "Solid".. etc, solo tiene marcada la opción de Visible

Tenéis comentarios para que sepáis que es cada cosa mas o menos, aun que supongo que sabréis mas que yo pero bueno..
Un saludo y gracias de antemano!
mp_potential_step(obj_jugador.x,obj_jugador.y,walkingSpeed,true);
reemplazalo por:
mp_potential_step(obj_jugador.x,obj_jugador.y,walkingSpeed,false);
Título: Re:Mis enemigos colisionan con todo
Publicado por: zHeMaa en Noviembre 07, 2014, 10:49:57 PM
Funciona a la perfección, muchas gracias! (: