Puedes usar el setInterval asi:

var id:Number = setInterval(objeto,"metodo",ms);

en tu caso:

miIntervalo = setInterval(this,"dispara", milisegundos);

Por cierto, intenta no usar gmail en esta lista porque los emails llegan
machacados.

Un saludo,

Joseba Alonso
www.5dms.com
www.sidedev.net 

> -----Mensaje original-----
> De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Enviado el: lunes, 11 de abril de 2005 22:35
> Para: undisclosed-recipients:
> Asunto:
> 
>       h=received:message-id:date:from:reply-to:to:subject:mime-
> version:content-type:content-transfer-encoding;
> 
>       b=DKuM3eufcztzDHr91OLKUmG44ibUF3PIJNBxOdkAFWQxIhm5JOFAfbnQNdeWKCg1tR
> HxcPBCSkLyU1pv/kFPuPcAfR9jSR2X6P4xDlpLGkx89151oYqjrFN0xVlq/h2LMxM5n3KlEEaQ
> KbicyXoKxgHYHFUmAwGrjE06tMIiDIE=
> Received: by 10.39.3.56 with SMTP id f56mr3191247rni;
>         Mon, 11 Apr 2005 13:34:33 -0700 (PDT)
> Received: by 10.38.126.62 with HTTP; Mon, 11 Apr 2005 13:34:33 -0700 (PDT)
> Message-ID: <[EMAIL PROTECTED]>
> Date: Mon, 11 Apr 2005 22:34:33 +0200
> From: David Mateos <[EMAIL PROTECTED]>
> To: [email protected]
> Mime-Version: 1.0
> Content-Type: text/plain; charset=ISO-8859-1
> Content-Transfer-Encoding: 7bit
> Subject: =?iso-8859-1?q?=5BASNativos=5D_?=
>  como acceder a las propiedades de una clase desde un intervalo que esta
>       dentro de la misma clase?
> X-BeenThere: [email protected]
> X-Mailman-Version: 2.1b2
> Precedence: bulk
> Reply-To: [email protected]
> List-Id: Lista dedicada a Actionscript <5dms.com.asnativos.5dms.com>
> List-Post: <mailto:[email protected]>
> List-Subscribe:
> <http://list.5dms.com/mailman/listinfo/5dms.com.asnativos>,
>       <mailto:[EMAIL PROTECTED]>
> List-Unsubscribe:
> <http://list.5dms.com/mailman/listinfo/5dms.com.asnativos>,
>       <mailto:[EMAIL PROTECTED]>
> List-Archive: <http://list.5dms.com/mailman/private/5dms.com.asnativos>
> List-Help: <mailto:[EMAIL PROTECTED]>
> Sender: [EMAIL PROTECTED]
> Errors-To: [EMAIL PROTECTED]
> 
> Estoy intentando hacer una clase en AS2 que cree "x" clones de un
> movieclip dado, y que los coloque en en forma de matriz (osea, tantas
> columnas por tantas filas).
> 
> Ademas quiero hacerles un gotoAndPlay a todos de forma secuencial, con
> un intervalo, pero el problema que tengo es que desde la funcion a la
> que llama el intervalo, no puedo acceder a las propiedades de la
> clase...
> 
> Pego el codigo minimo para que se entienda lo que quiero hacer (mas
> abajo pongo la clase entera, por si alguien cree que es aprovechable y
> la quiere mejorar):
> 
> class Robota {
> 
>       var miIntervalo;
>       var num:Number = 1;
>       var max_num:Number;
>       var milisegundos:Number;
> 
>       function Robota(maximo:Number, tiempo:Number){
>               max_num = maximo;
>               milisegundos = tiempo;
>       }
> 
>       function inicia(){
>               miIntervalo = setInterval(dispara, milisegundos);
>       }
> 
>       function dispara(){
>               num++;
>               trace(num);         <-------este trace deberia sacar:
> 1,2,3,4,5,6,etc  pero saca "undefined"
>               if(num > max_num){
>                       clearInterval( miIntervalo )
>               }
>       }
> }
> 
> 
> Y en la linea de tiempo la instancio:
> 
> var miInstancia:Robota = new Robota(99, 1000);    <----   99 llamadas
> cada 1 segundo
> miInstancia.inicia();        <-----   crea el intervalo
> 
> 
> //////////////////////////
> ////clase
> 
> 
> class Robot {
> 
>          //parametros
>       public var mc_base:MovieClip;
>       public var _xspace:Number;
>       public var _yspace:Number;
>       public var cols:Number;
>       public var filas:Number;
>       public var tiempo:Number;
> 
>          //variables
>       public var arr_obj:Array = [];
>       public var arr_pos:Array = [];
>       public var elIntervalo;
>       public var num:Number = 0;
> 
>       function Robot(conf:Object){
>               mc_base = conf.mc_base;
>               _xspace = conf.espaciado[0];
>               _yspace = conf.espaciado[1];
>               cols = conf.rejilla[0];
>               filas = conf.rejilla[1];
>               tiempo = conf.secuencia[0];
>       }
> 
>       function formatea(){
>               //genera la cuadricula de posiciones
>               var c:Number = 0;
>               var j,i:Number;
>               for(j=0;j<filas;j++){
>                       for(i=0;i<cols;i++){
>                               arr_pos[c] = [];
>                               arr_pos[c][0] = i * _xspace;
>                               arr_pos[c][1] = j * _yspace;
>                               c++;
>                       }
>               }
>               //los coloca en su sitio
>               var k:Number;
>               for(k=0;k<arr_pos.length;k++){
>                       duplicateMovieClip(mc_base, "clon"+k, -100-k);
>                       arr_obj[k] = mc_base._parent["clon"+k];
>                       arr_obj[k]._x = arr_pos[k][0];
>                       arr_obj[k]._y = arr_pos[k][1];
>               }
>               //
>               elIntervalo = setInterval(inicia, tiempo);
>       }
> 
>       function inicia(){
>               arr_obj[num].gotoAndPlay(2);
>               num++;
> 
>               if(num > arr_obj.length){
>                       clearInterval( elIntervalo );
>               }
>       }
> }
> 
> 
> Desde la linea de tiempo:
> 
> config = new Object();
> config.mc_base = cuadro;
> config.rejilla = [9,9];
> config.espaciado = [60,60];
> config.secuencia = [10, "simple"];
> var myRobot:Robot = new Robot(config);
> myRobot.formatea();
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------

Responder a