Comunidad de diseño web y desarrollo en internet online

acceso a instancia cargada desde libreria

Citar            
MensajeEscrito el 04 Mar 2010 11:24 am
hola de nuevo. Tengo otro problema, que viene de mi ignorancia en la sintaxis as3. A ver tengo una clase cargador que gestiona la precarga de distintas películas en la escena. Esta clase crea una instancia de un MovieClip "cargador" en la escena.

Código :

var Referencia:Class = getDefinitionByName("cargador") as Class;
cargador = new Referencia();
cargador.x = (target.stage.stageWidth / 2) - (cargador.width / 2); // Centrado horizontal
cargador.y = (target.stage.stageHeight / 2) - (cargador.height / 2); // Centrado vertical
target.addChild(cargador);


esto lo hace perfectamente y me crea la instancia en la escena. El problema es que no puedo acceder a el contenido de ese MovieClip. El MovieClip contiene otro MovieClip llamado barra que es el que quiero mover.¿como podria acceder a ese MovieClip?
e probado con esto y nada:

Código :

target.cargador.barra
target.getChildAt(1).barra

Por yojose

11 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Mar 2010 02:39 pm
haz el addChild así:
target.addChild(cargador).name = "nombredeinstancia";

y luego podrás acceder así
target.getChildByTheName("nombredeinstancia").barra

Saludos

Por negro81

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Mar 2010 11:04 pm
a ver si pongo esto:

Código :

package com.clases{
   
   import flash.events.*;
   import flash.net.URLRequest;
   import flash.net.URLLoader;
   import flash.net.URLVariables;
   import flash.net.sendToURL;
   import flash.net.URLLoaderDataFormat;
   import flash.events.IOErrorEvent;
   import flash.display.MovieClip;
   import flash.display.Sprite;
   import flash.display.Loader;
   /*import com.clases.PrecargaSuper;
   import com.clases.preload;
   import com.clases.obtengo_datos;*/
   
   public class principal extends MovieClip{
      
      var contenedor:Loader= new Loader();;
      var peticion:URLRequest;
      function principal(){
         cargo("escena1.swf");
      }
      function cargo(url:String){
         peticion = new URLRequest(url);
         contenedor.load(peticion);
         contenedor.contentLoaderInfo.addEventListener(Event.COMPLETE, completocarga);
      }
      function completocarga(e:Event){
         var n=this.addChild(e.target.content);
         n.name="pelicula";
         trace(this.getChildByName("pelicula"));
      }
   }
}

a la hora de poner el nombre a la instancia e.target.content me da un error.

Error: Error #2078: No se puede modificar el nombre de propiedad de un objeto colocado en la línea de tiempo.
at flash.display::DisplayObject/set name()
at com.clases::principal/completocarga()
la cosa es que me gustaria poder acceder a ese moviclip cargado cuando quiera.

Por yojose

11 de clabLevel



 

chrome

 

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