Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: hhAnt en Diciembre 16, 2012, 02:40:00 PM

Título: Rotación suave
Publicado por: hhAnt en Diciembre 16, 2012, 02:40:00 PM
Buenas tardes,

Cómo hacer que una figura geometrica rote desde su centro, pero que lo haga de una manera suave y no se cómo. Necesito que mediante un golpe de tecla rote una cantidad determinada de grados.

hago que rote usando:
image_angle = direction;
direction = 45;

pero esto lo hace de una manera un poco tosca, quisiera que el movimiento (el recorrido) fuese más suave, con deceleración por ejemplo, y no tengo ni idea. Pregunté en los foros de yoyogames, pero me responden de modo muy complicado.

¿Saben ustedes como podría enfocar el problema de una manera sencilla?

les agradecería ayuda.
Título: Re:Rotación suave
Publicado por: elviskelley en Diciembre 16, 2012, 05:15:57 PM
if image_angle < direction then {image_angle+=5;}
else
if image_angle > direction then {image_angle+=5;}
Título: Re:Rotación suave
Publicado por: hhAnt en Diciembre 17, 2012, 06:07:30 PM

Gracias Elvis,

Ponto el código que me has escrito en el evento "step", y me ocurre lo siguiente:

-Cdo. roto la figura en sentido contrario a las agujas del reloj, sí que hace cada movimiento de 45º de forma más suave, hasta aquí perfecto, pero cuando tras ocho pulsaciones de tecla (cada una mueve la figura 45º) empieza a rotar sin control.
-Cdo. roto la figura en sentido de las agujas del reloj desde la primera pulsación empieza a rotar sin parar.

¿Sabes a que se debe?

Gracias por tomarte las molestias.
Título: Re:Rotación suave
Publicado por: dark_servant en Diciembre 17, 2012, 10:56:13 PM
te dejo un ejemplo haber si le entiendes jeje
Título: Re:Rotación suave
Publicado por: hhAnt en Diciembre 18, 2012, 12:45:30 AM
Muy amable Dark_ , excelente ejemplo, mañana me lo "empollo" a ver si le cojo el punto.

Muchas gracias.