2) Utilice setInterval () (Flash MX y sólo), junto con nextFrame (); (o prevFrame () para crear un marco de tasa de falsos
las funciones de uso que son los siguientes:
stop();
function playfps(){
//params = (funcion name,delay,target movieclip);
setInterval(playAndLoop,1000,this);
}
function playAndLoop(mc){
mc.nextFrame();
if(mc._currentframe == mc._totalframes){
mc.gotoAndStop(1);
}
}
playfps();
- stop();
- function playfps(){
- //params = (funcion name,delay,target movieclip);
- setInterval(playAndLoop,1000,this);
- }
- function playAndLoop(mc){
- mc.nextFrame();
- if(mc._currentframe == mc._totalframes){
- mc.gotoAndStop(1);
- }
- }
- playfps();
Hola, setInterval es grande, pero también puede causar problemas si no utiliza clearInterval para gestionar su presencia. Yo siempre uso el siguiente utilizando setInterval.
stop();
function playfps(){
//params = (funcion name,delay,target movieclip);
clearInterval(_root.mysetinterval )
_root.mysetinterval = setInterval(playAndLoop,1000,this);
}
- stop();
- function playfps(){
- //params = (funcion name,delay,target movieclip);
- clearInterval(_root.mysetinterval )
- _root.mysetinterval = setInterval(playAndLoop,1000,this);
- }
Es posible que desee informarse sobre setInterval, si no almacenar una referencia a la misma (en mi _root.mysetInterval ejemplo) podría terminar con un bucle permant no puede deshacerse de. Usted notará que yo llamo clearInterval con el _root.mysetinterval, esto es para evitar una pérdida de memoria, donde setInterval llamando de nuevo deja cualquier setIntervals anterior en funcionamiento.
Tuve un protector de pantalla usando 78MB de memoria del sistema después de ejecutar a través de la noche, porque de no ordenar la setInterval.
también puede que quiera añadir el clearInterval como abajo
if(mc._currentframe == mc._totalframes){
clearInterval(_root.mysetinterval )
mc.gotoAndStop(1);
}
- if(mc._currentframe == mc._totalframes){
- clearInterval(_root.mysetinterval )
- mc.gotoAndStop(1);
- }
Otro problema con setInterval es la hora de establecer dentro de un movieclip que se retira de la puntuación. Si establece un intervalo y almacenar una referencia a él dentro de un clip de película y luego matar / eliminar movieclip que también eliminará cualquier posibilidad de limpiar el intervalo de funcionamiento. Siempre claro los intervalos que se estén ejecutando antes de quitar un movieclip de la puntuación. Es muy difícil depurar cos que no se dan cuenta de su un setInterval está causando problemas.