Comunidad de diseño web y desarrollo en internet online

AS3 | Recuperando elementos de la DisplayList con getChildAt

Citar            
MensajeEscrito el 14 Dic 2008 11:36 am
Alguien sabe porque cuando se recupera un objeto de la DisplayList se puede obtener por ejemplo su posición pero no la propiedad text como puede verse en este ejemplo:

Código ActionScript :

var campo1:TextField = new TextField();
var campo2:TextField = new TextField();
var campo3:TextField = new TextField();

campo1.x = 250;
campo1.y = 250;
campo2.x = 250;
campo2.y = 300;
campo3.x = 250;
campo3.y = 350;

campo1.text = "Jesus Cristo";
campo2.text = "33";
campo3.text = "Carpintero";

var container:Sprite = new Sprite();

container.addChild( campo1 );
container.addChild( campo2 );
container.addChild( campo3 );

this.addChild( container );

var target:DisplayObject = container.getChildAt( 2 );

trace ( target.y );
//trace ( target.text );


Donde la posición "y" es suministrada pero text devuelve un error:

1119: Access of possibly undefined property text through a reference with static type flash.display:DisplayObject.

Desde ya muchas gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2008 11:58 am
DISPLAY OBJECT es la clase base de todos las demás.Lo que hace es proporcionar los elemento BASICOS pero esta clase no proporciona funcionalidad para generar ningun tipo de visualizacion en la pantalla, esto es delegado en las subclases.

Por Lorix

13 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Dic 2008 12:27 pm
Antes que nada, gracias por la respuesta.

Cómo debo hacer entonces para, através de la posición del elemento en la DisplayList, poder tracear el texto de uno de esos campo?

Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Dic 2008 02:36 pm
Tienes que hacer una "conversión de cast"

Código ActionScript :

//o bien lo haces al buscar la propiedad
var target:DisplayObject = container.getChildAt( 2 );  
trace(TextField(target).text);
//o a la hora de asignar a la variable
var targetText:TextField=TextField(container.getChildAt(2));
trace(targetText.text);

Por Eliseo2

710 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Dic 2008 03:33 pm
Muy bueno, ya estaba ingenuamente pensando que esto no sera posible hacer.

Muchas gracias Eliseo. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox

 

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