Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Bird Sick Games en Abril 05, 2021, 04:40:35 AM

Título: hacer un enemigo que gire en una paltaforma
Publicado por: Bird Sick Games en Abril 05, 2021, 04:40:35 AM
hola, estoy haciendo un juego y quiero hacer un enemigo que esta en una plataforma y que gire, pero no se como hacer eso, por eso es por la cual pido ayuda
les dejo una imagen como ejemplo para que vean de lo que hablo, y también de como se hace
Título: Re: hacer un enemigo que gire en una paltaforma
Publicado por: T789 en Abril 05, 2021, 06:12:49 AM
Saludos Bird Sick Games

Hay una forma muy facil de hacerlo pero eso es dependiendo de que sea una plataforma lineal como la de tu ejemplo
[gml]
/// Event Create
dir = 0;
[/gml]
[gml]
/// Event Step
repeat(4) {
  x += lengthdir_x(1, dir);
  y += lengthdir_y(1, dir);

  if !place_meeting(x+lengthdir_x(4, dir+270), y+lengthdir_y(4, dir+270), obj_solid)
    dir = (dir+90) mod (360); // Asi el enemigo empezara yendo por la derecha, pero si quieres que empiece por la izquierda: (dir+90) mod (360)
}
[/gml]
Título: Re: hacer un enemigo que gire en una paltaforma
Publicado por: Bird Sick Games en Abril 05, 2021, 05:36:17 PM
no funciono, cuando llega al final de la  plataforma, se queda trabado y no baja para que gire alrededor de la plataforma
Título: Re: hacer un enemigo que gire en una paltaforma
Publicado por: BssString en Abril 11, 2021, 11:23:13 PM
Hola Bird Sick Games

El código de T789 está correcto a mí parecer, pero el error está en que si vas a la derecha, el giro debe ser en sentido horario en vez de anti-horario.

Cambia esta línea:
[gml]dir = (dir+90) mod (360); //Giro anti-horario[/gml]

Por esta línea:
[gml]dir = (dir-90) mod (360); //Giro horario[/gml]

Saludos