Comunidad de diseño web y desarrollo en internet online

class Temporizador

Citar            
MensajeEscrito el 01 Nov 2004 03:31 am
me canse de ver setInterval XD XD

Código :

///////////////////////////////////////////////////////////////////////
//                  Temporizador
///////////////////////////////////////////////////////////////////////
//   
//   METODOS PUBLICOS
//
//   Temporizador(
//      sg:Number, // tiempo de espera
//      loop:(Number o Boolean)// numero de veces q se repetira ,por defecto false,  
//         si es true no se detiene hasta q no llames a end()  
//   )
//               
//   setParametros (
//      target, nivel donde se encuentra la estancia
//      func:(string o Function), function q se ejecutara cuando acabe el temporizador , 
//         la function recibe un array si se le paso parametros
//      ar:Array , argumentos q se le pasa a la function [opcional]
//   )
//
//         by buho29
//
/*   EJEMPLOS

   /////////////////1///////////////////
   // pasando la function como string
   var pepe = new Temporizador(1);
   pepe.setParametros (this,"terminado",["function como string"])
   
   terminado = function (evt){trace(evt)}
   
   /////////////////2///////////////////
   //pasando la function
   var pepa = new Temporizador(2);
   pepa.setParametros (this,terminada,["function normal","tumadre"])
   
   function terminada(evt){trace(evt)}
   
   /////////////////3///////////////////
   //pasando una function anonima
   var pepi = new Temporizador(3);
   pepi.setParametros (this,function(evt){trace(evt)},["otraForma","tumadre"])
   
*/


class Temporizador {
    
    var ID:Number;
    var params:Array;
    var obj:Object ;
    var bucle:Boolean=false;
    var numVeces:Number;
   var veces:Number = 1;
   var funcion;
   
    function Temporizador(sg:Number,loop) {
      
        if(loop!=undefined){
         bucle = true;
         numVeces = loop;
      }else if(loop)bucle = true;
      
        ID = setInterval(this,"isTerminado",sg*1000);
    }
    
   function setParametros (target,func,ar:Array){
      
        obj = target ;
      funcion = func ;      
      params=ar;
      
   }
   
    private function isTerminado () {
      
        if(!bucle) terminado(true);
      else {
         
         if(veces==numVeces)terminado(true);
         else {
            terminado(false);
            veces++;
         }
         
      }
      trace("ff")
      updateAfterEvent();
    }
   
   function terminado (borrar){
      
      if(borrar)end() 
      
      if(typeof(funcion)== "string") obj[funcion](params);
      else funcion.apply(obj,[params]);
      
   }
   
   function end (){
      clearInterval (ID);
   }
   
}

Por buho29

510 de clabLevel

1 tutorial

7 ejemplos

 

unknown
Citar            
MensajeEscrito el 04 Nov 2004 05:14 pm
Ya te has cansado del API de dibujo, del MovieClipLoader y ahora del sistema multihilos de Flash (aunque uses setInterval internamente xD )

No has pensado en cansarte de la forma en que se "skinnean" los componentes y hacer una clase "ComponentCustomer" ... o quizas una reimplementación de las funciones cliente servidor? xD

Muy bueno, aunque la verdad a excepción de unos ajustes personalizados no cambian tanto las cosas

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 04 Nov 2004 07:38 pm
uno q es un agonias XDDD

Esta clase es solo un atajo ...

Por buho29

510 de clabLevel

1 tutorial

7 ejemplos

 

unknown

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.