Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: MateG_ en Julio 24, 2018, 08:46:45 PM

Título: Rotar el juego
Publicado por: MateG_ en Julio 24, 2018, 08:46:45 PM
   Lamento no tener un título más claro sobre mi duda, la cual es: ¿Cómo podría rotar los elementos de mi juego?

   Se me ocurrió la idea de crear un plataformero cuya mecánica principal sea la de rotar las views, afectando asi a la dirección de la gravedad y al movimiento del jugador. En cuanto a girar las views pude hacerlo con la variable view_angle, sin embargo, a la hora de mover al jugador es cuando se me complica, pues aunque en conjunto con la view rote al jugador sus ejes no giran. Así si, por ejemplo, el angulo de la view fuese de 90° el eje x del jugador sería (visualmente) el y y visceversa.

   Según pienso no ha de ser algo facil de hacer, pero si alguien tiene una idea, video o algo que crea que pueda ayudarme lo agradecería. Espero también haberme expresado bien, un saludo y gracias.  :)
Título: Re:Rotar el juego
Publicado por: Goganpis en Julio 25, 2018, 05:51:24 PM
 Puedes usar una formula en la cual por ejemplo:

La view esta rotando en 360º puedes usar su angulo y restarlo con la direccion de la gravedad algo como

gravity_direction = view_angle-270

Alli te deberia de dar lo que quieres no lo he probado pero por logica si la view esta en 90º - 270(que es abajo) = 180( si ves la view de forma ya inclinada y buscas la direccion de su angulo y le restas el 270 llega a afectar a abajo... Te confundiras todo si buscas de entenderme :-[ mejor pruebalo suerte!  ;)
Título: Re:Rotar el juego
Publicado por: Clamud en Julio 26, 2018, 06:20:32 AM
Puedes definir unos ejes locales que rotan al mismo tiempo que la view, después realizar el movimiento y aplicar la gravedad en relación a esos ejes.

Adjunto un ejemplo simple (no se detectan las colisiones).
Las teclas Z y X rotan la view.
Las flechas mueven al personaje.
G activa o desactiva la gravedad.
Si la graveda está activada, presiona la flecha arriba para saltar en el aire.
Título: Re:Rotar el juego
Publicado por: MateG_ en Julio 28, 2018, 06:54:48 AM
Muchas gracias a los dos! Ya lo pude solucionar usando de basándome en el código que adjuntaste. Había pensado en la idea de crear ejes "falsos" pero estaba muy perdido en el tema. En cuanto a las colisiones las pude programar correctamente. Muchas gracias de vuelta!

Saludos.  :)