Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: ElKopiraih en Febrero 05, 2021, 05:48:09 PM

Título: Como hacer un detector de personajes en una dirección concreta
Publicado por: ElKopiraih en Febrero 05, 2021, 05:48:09 PM
Buenas!
En mi juego tengo un enemigo el cual si te pones en una dirección en concreto (por ejemplo, debajo suya) quiero que vaya hacia abajo (o en la dirección en la que esté el personaje), pero no se como hacerlo sin crear otro objeto, cosa que no quiero hacer. ¿Cómo podría hacer esto?
Título: Re:Como hacer un detector de personajes en una dirección concreta
Publicado por: T789 en Febrero 05, 2021, 09:41:25 PM
Saludos ElKopiraih

Te sugiero que uses la funcion "point_direction"
[gml]
var range, dirPlayer, colPlayer;
range = 128;
dirPlayer = point_direction(x, y, obj_player.x, obj_player.y);

if collision_line(x, y, x+lengthdir_x(range, dirPlayer), y+lengthdir_y(range, dirPlayer), obj_player, 0, 1)
  // Si esta en una direccion por debajo del
  if (dirPlayer > 225 && dirPlayer < 315) {
    direction = dirPlayer;
    speed = 4;
  }
[/gml]
Título: Re:Como hacer un detector de personajes en una dirección concreta
Publicado por: ElKopiraih en Febrero 05, 2021, 10:03:45 PM
Cita de: T789 en Febrero 05, 2021, 09:41:25 PM
Saludos ElKopiraih

Te sugiero que uses la funcion "point_direction"
[gml]
var range, dirPlayer, colPlayer;
range = 128;
dirPlayer = point_direction(x, y, obj_player.x, obj_player.y);

if collision_line(x, y, x+lengthdir_x(range, dirPlayer), y+lengthdir_y(range, dirPlayer), obj_player, 0, 1)
  // Si esta en una direccion por debajo del
  if (dirPlayer > 225 && dirPlayer < 315) {
    direction = dirPlayer;
    speed = 4;
  }
[/gml]

Haciendo unos cambios al código al final me ha servido, muchas gracias!