Buenas chicos,
tengo un problema (cómo siempre), resulta que he encontrado una web donde me dice que el Speed se mide en pixels por step... pero eso es respecto al movimiento de los objetos, sin embargo el speed al que yo quiero referirme es al speed que aparece cuando hacemos un change_sprite por ejemplo, que se refiere a la velocidad de la animación de dicho sprite.
Yo lo que quiero hacer es que justo tras terminarse la animación de cuatro frames del sprite el juego haga un sleep, para lo que he usado un alarm configurado a 30 steps, que salta al evento alarm y hace un sleep.
En fin, el caso es que para poner el speed del sprite para que me coincida con el tiempo de espera (30steps) y que de este modo se vean todos los frames de la animación, necesito saber en que unidad de medida trabaja el speed del change_sprite.
Cómo siempre, muchas gracias
La velocidad de un step es equivalente a los frame por segundo. Por defecto son 30, es decir que trascurrirán 30 step en 1 segundo, podes cambiar eso en las opciones de la room o con código podrías incluso consultar su valor ("room_speed").
El "change_sprite" se ejecuta al finalizar el evento "end step" pero siempre 1 vez por step.
Gracias romon-28, pero no era a eso a lo que me referia. Ya me lo han aclarado por otro lado y lo tengo más o menos claro.
Image_speed es la variable que indica a qué velocidad se reproduce una animación. Sus unidades son subimágenes por step. En la acción change_sprite, al ser D&D, sólo aparece con el nombre speed
La velocidad de la imagen es relativa, así que una velocidad de 1.0 o 0.5 no dice mucho, ¿por qué?
Depende de cuántas imágenes tenga tu animación. Un valor de 1 indica que cada paso se saltará a la siguiente subimagen, Si tu animación tiene cuatro subimágenes, un valor de 1 la desplegará demasiado rápido.
Por tanto, si quiero saber cuantos steps necesito por imagen para que se vea correctamente la animación en un segundo, me basta con dividir los 30 steps por las 4 imagenes, y el resultado será la image_speed que necesito, que sería 0,133..., ¿correcto?