Comunidad de diseño web y desarrollo en internet online

boton as MovieClip

Citar            
MensajeEscrito el 20 Jun 2011 02:58 pm
Hola!
tengop este codigo que usaba para obtener los mc dentro de un movieclip padre,

funcionaria igual si los hijos de este mc son del tipo boton?

Código ActionScript :

private function obtenerBotones(con:MovieClip):Array{
         var tmp:Array = new Array();
         for(var j:uint=0; j<con.numChildren;++j){
            var btn:MovieClip = con.getChildByName("Btn" + j + "_mc") as MovieClip;
            tmp.push(btn);
         }
         return tmp;
      }

private function construirMenu(arra:Array):void{
         for(var i:uint=0; i<arra.length;++i){
            var btn:MovieClip = _botones[i] as MovieClip;
            btn.swfRuta = "swf/swf" + i + ".swf";
            btn.addEventListener(MouseEvent.CLICK,encima);
         }
      }


porque me da este error:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at clases::Main/::construirMenu()
at clases::Main$iinit()


que sera?

Gracias

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jun 2011 03:30 pm
No, en principio los casteas a MovieClip

var btn:MovieClip = con.getChildByName("Btn" + j + "_mc") as MovieClip;

Pero deberían ser Button

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Jun 2011 04:02 pm
Gracias Jorge

pues asi lo suponia, entonces modifique mi .fla y los objetos que tengo ahora si son movieclips

pero me da el mismo error en construirMenu()

Código ActionScript :

private function obtenerBotones(con:MovieClip):Array{
         var tmp:Array = new Array();
         for(var j:uint=0; j<con.numChildren;++j){
            var btn:MovieClip = con.getChildByName("Btn" + j + "_mc") as MovieClip;
            tmp.push(btn);
         }
         return tmp;
      }
      
      private function construirMenu(arra:Array):void{
         for(var i:uint=0; i<arra.length;++i){
            var btn:MovieClip = _botones[i] as MovieClip;
            btn.swfRuta = "swf/swf" + i + ".swf";
            btn.addEventListener(MouseEvent.CLICK,encima);
         }
      }
      
      private function encima(e:MouseEvent):void{
         var ruta:String = e.currentTarget.swfRuta;
         iniciarCarga(ruta);
         //removeChild(home_mc);
      }
      
      private function iniciarCarga(url:String):void{
         loader = new Loader();
         loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteLoad);
         loader.load(new URLRequest(url));
         }
      
      private function onCompleteLoad(e:Event):void{
         var swfLoaded:MovieClip = e.target.content as MovieClip;
         _contenedor.addChild(swfLoaded);
         //swfLoaded.addEventListener("closeSWF",closeSWFHandler);
         //swfLoaded.addEventListener("closeSWFVIDEOS",closeSWFHandlerVIDEOS);
      }
     
     private function closeSWFHandler(e:Event):void{
         _contenedor.removeChildAt(0);
         //addChild(home_mc);
      }
      

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jun 2011 04:06 pm
Cuando te da elemento undefined comenta toda la función, luego ve descomentando las líneas de a una hasta que identifiques cual es la que lanza el error, te dará la pista de cual es elemento que está fallando

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Jun 2011 04:20 pm
no se si tenga que ver
tengo 46 botones dentro del mc

probe borrando y dejando 8 botones y si funciona

asi que el error no parece ser del codigo

que opinas?

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jun 2011 04:22 pm
El error es "no encuentro este elemento", seguramente el array tiene referencias a elementos que no existen

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Jun 2011 04:25 pm
jejej

descubri mi error

tenia un dibujito suelto, quedo fuera de los botones.


aunque le di esto:

trace(menuCom_mc.menu_mc.botones_mc);

y me devolvio esto:

[object botones_14]

que es ese 14?

si son 46 botones?

Gracias Jorge


solucionado

Por dianita666

Claber

185 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Jun 2011 06:08 pm
A los que no les pusiste nombre de instancia, flash les pone uno por defecto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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