Febrero 06, 2010, 02:09:11 PM Ultima modificación: Febrero 06, 2010, 05:44:09 PM por Ntanil
Estoy montando un juego de plataformas con sonic y me gustaria hacer un sistema de acceleraci?n, cosa comun en estos juegos.

Despues de configurar la gravedad y el suelo y todo lo basico, me dispuse a hacer el movimiento lateral accelerado. Lo estoy haciendo sin usar codigo GML
En el evento "press <Right>" primero de todo compruebo que la variable OnGround (definida por mi y que comprueba si sonic esta tocando al suelo) est? activa, y en ese caso pongo la fricci?n a zero (para que no frene) y tambi?n puse un "Set horizontal speed..." a +0.4 en relative, pero despu?s me di cuenta del fallo, ya que a no ser que est? todo el rato pulsando, sonic no acceleraria porque el evento est? en "press".

He intentado ser descriptivo con el problema, lo que busco es una acci?n que vaya acelerando con el tiempo o algun m?todo que lo hagasi fueran tan amables de responder estare muy agradecido ^^.

Muchas gracias, espero respuestas.
Saludos.

PD: es mi primer post, si incumplo alguna norma porfavor diganlo.

Pues creas una variable (por ejemplo velocidad)
En el evento right pones

if velocidad<10 (Esto es para que tampoco sea mucha la aceleracion, lo puedes cambiar)

velocidad+=0.5 (Este valor depende de la aceleracion que quieres que tenga)

end if


tambien pones: move fixed, con la direccion que quieras y en speed pones: velocidad+3(el 3 es la velocidad que quieras tu)

Asi te debe funcionar, si lo quieres por codigo que es mas facil solo copia esto:

Create Event:
execute code:
velocidad=0

Keyboard Event for <Right> Key:
execute code:

if velocidad<10{
velocidad+=0.5
motion_set(0,velocidad+3)
}
si quieres jugar a un juego de internet
                              DINOPARC


si alguien entra que me lo diga por Mensaje Privado y le ayudo