Comunidad de diseño web y desarrollo en internet online

accesio a linea de tiempo de MovieClip anidados en Sprite

Citar            
MensajeEscrito el 08 Jun 2010 09:05 am
Hola, una consulta.

Tengo una serie de MovieClips (con su linea de tiempo) que almaceno en un contenedor Sprite antes de añadirlo a la lista de visualización y mostrarlo por pantalla.

Código ActionScript :

public class PageFlip extends Sprite{
...
private var pageContainer: Sprite; 
private var page_mc: page; 
...
      public function Assemble():void{

         pageContainer=new Sprite(); 
         
         for(var i:uint; i<numPages; i++)
         {
            page_mc=new page(); ->>>//Es un MOvieClip
            
            page_mc.addEventListener(MouseEvent.CLICK, Click);                     
            
            page_mc.id=i; 
            page_mc.x=PAGE_POSX+(i*PAGE_INCREASEX);
            page_mc.y=PAGE_POSY; 
            
            //Por defecto activamos la primera página
            if(page_mc.id==0){
               
               SetActivePage(0);
               page_mc.gotoAndPlay("over");   
            }
            
            pageContainer.addChild(page_mc); 
         }

         addChild(pageContainer); 
         
      }//end 'Assemble()'
}//end class


El problema me viene cuando quiero acceder a uno de los Mc de pageContainer...no puedo acceder a su linea de tiempo.
pe.

Código ActionScript :

pageContainer.getChildAt(i).gotoAndPlay(2); 

no me lo da por válido. ¿Cómo podría hacerlo?
Gracias

Por emedmaria

73 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Jun 2010 09:23 am
Si te fijas en la ayuda sobre DisplayObjectContainer, tanto getChildAt como getChildByName devuelven un objeto del tipo "DisplayObject". Un DisplayObject no tiene el método gotoAndPlay. Por eso te da el error.
Como nosotros sabemos que nuestro objeto es "algo más" que un displayObject (es un MovieClip) le tenemos que decir al compilador que lo que devuelva el getChildAt lo trate, no sólo como un simple displayObject, sino como lo que es realmente: Un MovieClip. A eso se le conoce como "conversión de cast" y es sólo como poner

Código ActionScript :

MovieClip(pageContainer.getChildAt(i)).gotoAndPlay(2);
//ó (se puede de los dos modos)
(pageContainer.getChildAt(i) as MovieClip).gotoAndPlay(2);

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Jun 2010 09:26 am
Perfecto!!! No caía...

GRACIAS!!!!!!!!! :D

Por emedmaria

73 de clabLevel



 

firefox

 

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