Autor Tema: ayuda con los enemigos  (Leído 306 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Sr.Mojon

ayuda con los enemigos
« en: Junio 15, 2018, 11:20:43 pm »
el asunto es que los enemigos cuando me persiguen chocan con las paredes y yo ya tengo el codigo que se supone que deberia hacer que el enemigo esquive los objetos solidos pero igualmente se chocan, el codigo que hace que los enemigos me persigan y el de para que los enemigos esquiven los objetos solidos estan aqui:


if distance_to_object(obj_jugador)<200
{
    mp_potential_step(obj_jugador.x,obj_jugador.y,2, false)
}

por favor ayudenme


 
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado El_mas_chingon

Re:ayuda con los enemigos
« Respuesta #1 en: Junio 16, 2018, 05:24:44 am »
en este codigo que pusiste no veo nada que evite que los enemigos choquen contra objetos solidos
 


Desconectado 3dgeminis

Re:ayuda con los enemigos
« Respuesta #2 en: Junio 16, 2018, 08:37:36 am »
Tienes los objetos pared, la opcion Solid marcada ?
 

Desconectado Sr.Mojon

Re:ayuda con los enemigos
« Respuesta #3 en: Junio 16, 2018, 05:57:50 pm »
si la pared es solida
 

Desconectado 3dgeminis

Re:ayuda con los enemigos
« Respuesta #4 en: Junio 16, 2018, 11:34:48 pm »
Si estan a una distancia mayor de 200 los enemigos no se mueven ?.
Pon el codigo completo para ver si el problema es en otro lado
 

Desconectado Sr.Mojon

Re:ayuda con los enemigos
« Respuesta #5 en: Junio 17, 2018, 04:24:30 pm »
///

/// rotacion al perseguirme
image_speed = 0.1
image_angle=direction
move_towards_point(obj_jugador.x,obj_jugador.y,1)

///vidas
if vidas<1 {instance_destroy()}


///seguimiento

if distance_to_object(obj_jugador)<200
{
    mp_potential_step(obj_jugador.x,obj_jugador.y,2, false)
}


y tambien me gustaria saber como cambiarle la velocidad a los enemigos
« última modificación: Junio 17, 2018, 04:27:52 pm por Sr.Mojon »
 

Desconectado Clamud

Re:ayuda con los enemigos
« Respuesta #6 en: Junio 17, 2018, 05:02:33 pm »
Puedes usar un else para que los dos movimientos no se interfieran
///seguimiento
if (distance_to_point(obj_jugador.x, obj_jugador.y,) < 200)
{
  // Perseguir evitando las paredes. La velocidad aumenta
  image_speed = 0.2;
  mp_potential_step(obj_jugador.x, obj_jugador.y, 2, false);
  //                                              ^
  //                                          velocidad
}
else //si no está cerca
{
  // Acercarse en línea recta. No evita las paredes
  image_speed = 0.1;
  move_towards_point(obj_jugador.x, obj_jugador.y, 1);
  //                                               ^
  //                                           velocidad
}
// rotacion al perseguirme
image_angle = direction;

// vidas
if (vidas<1) instance_destroy();
distance_to_point se ejecuta más rápido que distance_to_object
 

Desconectado Sr.Mojon

Re:ayuda con los enemigos
« Respuesta #7 en: Junio 17, 2018, 05:50:41 pm »
ese codigo que me pones hace que los zombies eviten las paredes,aveces y el resto del tiempo los zombies se quedan dando vueltas en las esquinas y paredes y traspasan las paredes
 

Desconectado Clamud

Re:ayuda con los enemigos
« Respuesta #8 en: Junio 19, 2018, 07:55:55 am »
Es cierto, move_towards_point se puede sustituir por
mp_linear_step(obj_jugador.x, obj_jugador.y, 1, false);
 

Desconectado Sr.Mojon

Re:ayuda con los enemigos
« Respuesta #9 en: Junio 20, 2018, 05:50:50 pm »
cambie el codigo que me dijistes pero ahora cuando me alejo de los zombies se teletrasportan a donde estoy yo