Todo depende de como hayas implementado los codigos para tu juego :P, ya que se puede hacer de todas formas, pero la programacion toma un rol importante ahi, te recomiendo que tengas una variable booleana (true o false), que identifique cuando el personaje vuela, o cuando no, ya que ahi separas el funcionamiento normal de tu personaje, con el modo en vuelo:
Aprovechando eso, puedes accionar sólo la gravedad cuando "volar" sea falso, de lo contrario, en la parte en donde colocas los codigos para que tu personaje vuele, puedes disminuir la gravedad o dejarla en cero, y mover a tu personaje en las direcciones que tu quieras a una velocidad definida...
En lo del tiempo, casi siempre utilizo variables "temporizadoras", que las implemento asi:
ocupe un t[0] ya que si se necesitan mas temporizadores, los declaro en el evento create como t[0], t[1], ...
pero ahi hay una idea que se me ocurrió :)... ojala que te haya ayudado !!
Saludos
Código [Seleccionar]
if (volar == false)
{
Todo lo que hace tu personaje en modo normal
}
else
{
Los codigos o acciones para que tu personaje vuele
}
Aprovechando eso, puedes accionar sólo la gravedad cuando "volar" sea falso, de lo contrario, en la parte en donde colocas los codigos para que tu personaje vuele, puedes disminuir la gravedad o dejarla en cero, y mover a tu personaje en las direcciones que tu quieras a una velocidad definida...
En lo del tiempo, casi siempre utilizo variables "temporizadoras", que las implemento asi:
Código [Seleccionar]
if (accion = "volar")
{
volar()
if (t[0] < 30) {t[0] += 1}
else
{
accion = "normal";
t[0] = 0
}
}
ocupe un t[0] ya que si se necesitan mas temporizadores, los declaro en el evento create como t[0], t[1], ...
pero ahi hay una idea que se me ocurrió :)... ojala que te haya ayudado !!
Saludos