Velocidad de fotogramas correcta
A la hora de realizar animaciones, muchas veces nos encontramos que por la complejidad de la animación, por falta de optimización de los elementos o simplemente por el bajo nivel del ordenador que la reproduce, nuestra animación no consigue llegar a reproducirse a la velocidad de fotogramas de la pelicula, con lo que veremos como se relentiza.
Este código realiza una medición del tiempo transcurrido desde el comienzo de la pelicula cada vez que entra en un fotograma, y lo compara con la medición realizada en el frame anterior.
A través de este promedio podemos saber si el tiempo en que nuestra palicula tarda en pasar de un fotograma a otro es superior o inferior al tiempo correcto de reproducción de nuestra pelicula.
{
var framerate:Number = 30;
var tiempoframe:Number = (1 / framerate) * 1000;
tiempo_old = (tiempo_old != undefined) ? tiempo : 0;
tiempo = getTimer();
promedio = (tiempo – tiempo_old) / 2;
ok = promedio < tiempoframe; trace("ok: " + ok); };
Obtendremos true si nuestra pelicula re preproduce a una velocidad correcta y false si se está relentizando.
Compártelo:
Visto 14.961 veces
Esta lÃnea:
tiempo_old = (tiempo_old != undefined) ? tiempo : 0;
No tendrÃa que ser:
tiempo_old = (tiempo != undefined) ? tiempo : 0;
En realidad funcionarÃa igual de las dos formas.
Aqui lo que se le dice es que si la variable ‘tiempo_old’ no está definida (la primera vez que se ejecuta el onEnterFrame) obtenga el valor ‘0’. El resultado serÃa el mismo que preguntar por la variable ‘tiempo’.
AL emplear la funcion y obtener false como resultado, como podemos corregir el problema de lentitud en las animaciones?
Este código no es para corregir el problema, sino para darse cuenta de que nuestra pelicula se está ralentizando. Optimiza la animación, simplificando gráficos, interpolaciones, efectos, etc… hasta comprobar que la pelicula se reproduce a la velocidad correcta.
[…] Velocidad de fotogramas correcta En Codigo.Actionscript nos presentan este truco para detectar si nuestra animación en Flash esta corriendo a la velocidad correcta o por el contrario no llega a la velocidad ( frames por segundo ) que deseábamos. […]
Esto esta sacado de Cristalab.com (http://www.cristalab.com/tutoriales/comprobar-velocidad-correcta-de-fotogramas-en-flash-c32166l/ )y encima dices que hace una cosa que no hace.
Tio curratelo más
@El mio Propio:
Si te fijas un poquito, verás que el autor del post de Cristalab soy yo mismo….
Exelente!! me has alumbrado el camino, pero si creo necesitar ayuda, realizo una aplicación que me mida la velocidad de lectura, eso lo he visualizado en texto por frame, es decir, un frame arroga un texto y al finalizar la lectura apretamos un boton para pasar a otro frame con diferente enunciado, necesito contabilizar el tiempo de exposicion de este frame, lo cual empezará con el addEventListener del boton del frame anterior y concluira con el addEventListener del propio frame, y en ese momento con esa misma funcion me empieza a contar el tiempo del frame posterior, al final necesito mostrar todos los tiempos de todos los frames y sacar el resultado de palabras por minuto del total de tiempos sumados, espero una gran ayuda… gracias.