Comunidad de diseño web y desarrollo en internet online

problemas con acceso a propiedades AS3

Citar            
MensajeEscrito el 04 Sep 2007 02:34 pm
hola a todos soy novatillo programando con actionscript y me acaba de surgir un problema.

Necesito crear una serie de elementos (movieclips) dinámicamente (es una cesta de la compra) por lo que cada elemento será un artículo. Para ello creo un sprite contenedor donde voy a colocar todos los elementos gracias a un bucle. El problema es que en el movieclip tengo campos de texto que quiero modificar y no puedo.

dejo aqui el codigo en cuestion y su respectivo error.

container.getChildAt(cont).ref_txt.text=cesta..ref[cont];

1119: Acceso a una propiedad ref_txt posiblemente no definida mediante una referencia con tipo estático flash.display:DisplayObject.

container es un Sprite
el MovieClip esta dentro del proyecto y vinculado.
lo curioso del tema es que a sus propiedades comunes si puedo acceder como su posicion x e y, etc, etc...


alguien puede ayudarme?
muchas gracias.

Por loterion

0 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Sep 2007 03:08 pm
var target:DisplayObject = container.getChildByName("NOMBRE");
trace(container.getChildIndex(target));

trace(container.contains(target)); // <- evitar el problema de null con !

Por deker

55 de clabLevel



 

msie7
Citar            
MensajeEscrito el 16 Oct 2007 07:02 pm
Lo mismo... el mismo problema, no puedo entrar a propiedades, y es exactamente a Text de textField, no entiendo la solución q plateas deker si se consigue el objeto!!!!!!!! pero la propiedad text es inaccesible!!!

Por t2k

32 de clabLevel



Genero:Masculino  

monkey island

firefox
Citar            
MensajeEscrito el 16 Oct 2007 08:19 pm
AHM ya lo tengo es fácil, el problema rádica en esto.
Lo que regresa container.getChildByName("nombre") es un DisplayObject y un DisplayObject no tiene la propiedad text.. así q es mejor rescatar el campo de texto de otra forma
algo así como en A.S. 2.0 container["nombre"]
saludos

Por t2k

32 de clabLevel



Genero:Masculino  

monkey island

firefox
Citar            
MensajeEscrito el 26 Oct 2007 05:23 pm
Si quieres modificar el campo de texto en seguida de que se creas el movieclip, no lo vas a poder hacer, por una nueva característica de AS3, que procesa por SandBoxes (es algo que no entiendo totalmente).

Pero te sugiero que a tu movieclip le crees una clase con una funcion llamada por ejemplo personaliza, y despues de crear tu movieclip, mandes a llamar la función Personaliza pasandole como parametro el texto que se mostrará en el campo de texto, y la función se debe encargar de poner el parametro que le pasas en el campo de texto:

Código :

var Renglon: RenglonContenido0 = new RenglonContenido0();
Renglon.Personaliza("Texto", PosY, nR);


//--------------------------------------------------------------------------------------------------------
// codigo de la clase:
public function Personaliza (p_Texto:String, PosY:uint, nRen:uint):void {
   this.name = "Ren" + String(nRen);
   this.Texto.autoSize = TextFieldAutoSize.LEFT;
   this.Texto.wordWrap = true;
   this.Texto.text = p_Texto;
   this.Texto.embedFonts = true;
   this.y = PosY;
   this.nRen = nRen;
   trace(" Personaliza " + this.name + ": " + this.Texto.text + " alto=" + this.Texto.height)
}

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7

 

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