Junio 27, 2014, 08:00:44 PM Ultima modificación: Junio 27, 2014, 11:21:31 PM por J.E.A
Ando con un problemita y no puedo resolverlo. Es un problema con la velocidad máxima hacia la izquiera, pero cuando es hacia la derecha va sin problemas, pero hacia la izquiera no hace caso al código de la velocidad máxima y aumenta la velocidad sin parar. Así tengo los codigos:

En el evento Create tengo estas variables:


vel_max=2 /// acá le asigné la velocidad máxima///
acel=0.1 ///acá para que camine "acelerando" (de forma gradual como en el clásico Super Mario)


En el evento Right tengo esto:

friction=0

hspeed+=acel

if hspeed>= vel_max
hspeed=vel_max

En el evento Left esto (acá al caminar hacia la izquiera tengo el problema que no respeta la velocidad máxima)

friction=0

hspeed+=-acel

if hspeed>= vel_max
hspeed=vel_max

En Release right tengo:

friction=0.1

Y en Release left:

friction=0.1

A ver si me pueden ayudar  :-[


Cada día que pasa estoy mas enamorado de Holly Earl.

El código para la izquierda debe quedar así:
[gml]
friction = 0;

hspeed -= acel;

if hspeed <= -vel_max
hspeed = -vel_max;
[/gml]
Otra forma de hacer lo mismo, y que me gusta más, es ésta:
[gml]
friction = 0;
hspeed = max( hspeed-acel, -vel_max );
[/gml]
Hasta luego.

también se puede
hspeed = clamp(hspeed, -vel_max, vel_max)
en STEP, creo que funcionaría para ambas direcciones

Cita de: Clamud en Junio 27, 2014, 08:34:05 PM
El código para la izquierda debe quedar así:
[gml]
friction = 0;

hspeed -= acel;

if hspeed <= -vel_max
hspeed = -vel_max;
[/gml]
Otra forma de hacer lo mismo, y que me gusta más, es ésta:
[gml]
friction = 0;
hspeed = max( hspeed-acel, -vel_max );
[/gml]
Hasta luego.

Gracias Clamud, me sacaste de apuros, ahora sí respeta ambas velocidades máximas. Saludos! Y gracias penumbra tambien por ayudar!  8)
Cada día que pasa estoy mas enamorado de Holly Earl.