Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: bygdle en Noviembre 22, 2015, 06:06:56 PM

Título: Movimiento de plataformas con físicas
Publicado por: bygdle en Noviembre 22, 2015, 06:06:56 PM
Hola, estoy practicando en un proyecto de plataformas que estoy creando en su totalidad con físicas, pero no se casi nada de físicas. Quisiera saber cómo hacer un "salto", es decir, que el player detecte si está en el suelo para saltar y no vuele eternamente (como lo hace hasta el momento), y también me gustaría saber cómo mejorar los movimientos laterales, ya que el código que tengo es así:
[gml]
if keyboard_check(ord('D'))
physics_apply_force(x,y,spd,0);
if keyboard_check(ord('A'))
physics_apply_force(x,y,-spd,0);
[/gml]

Pero el jugador anda como si se deslizara sobre hielo y es difícil controlarlo... Gracias :P
Título: Re:Movimiento de plataformas con físicas
Publicado por: DarkKRuleR en Noviembre 23, 2015, 11:47:26 AM
Si vas a usar la física que viene con GM (esa cosa rara de physics_apply) ahí ya no me meto, yo hago mis físicas desde cero por código y tengo total control.

En esos casos, para el salto.. defino una gravedad. Siempre que NO haya suelo debajo, voy sumando la variable gravedad, y luego hago un for con ella para aumentar la y (a más gravedad, más aumento la y, más caigo). Al saltar defino una variable vertical de salto que también voy reduciendo, y hago otro for para aumentar la y verticalmente. Con sólo eso, se hace un salto perfecto parabólico (más o menos). Luego es plan de hacer detectar colisiones para parar. Y moverme hacia los lados es otro for, depende de qué quiera hacer. Todo me lo monto con for's y variables de control.

Si vas a usar esas physics_apply entonces desaparezco :D