Ya llevo un tiempo en as3 y el tema de solo poder llamar a las instancias si, previamente, han sido definidas en un poco coñazo, la verdad.
El caso es q tengo unas cajas de texto q se crean dinámicamente y si ya las has creado una vez y vuelves a acceder a ellas para cambiarles el texto q contienen, el segundo texto se superpone al primero, en vez de q el primero se borre y se visualice solo el segundo.
Total, tenemos una función q llama al primer texto a introducir en las cajas q, dicha función, crea dinámicamente y, por otra parte, tenemos otra función q llama al segundo texto a introducir en las cajas q, esta segunda función, crea dinámicamente.
Al ver q se superponen los textos, creo un condicional en la segunda función, el cual comprueba si las primeras cajas existen, si es así les introduzco directamente el segundo texto para no tener q crear de nuevo las mismas cajas y, si por contra el condicional dice q no existen las primeras cajas, entonces las creo dinámicamente y les introduzco el segundo texto.
El problema es q, claro, en la primera función estoy añadiendo unas cajas mediante addChild a la escena y en la segunda función q se encuentra al mismo nivel q la primera (osea, q la segunda función no está en el interior de la primera), estoy llamando a esas cajas q a efectos del código, aún no han sido creadas, por lo q me da el puñetero error de intento de acceso a una propiedad no definida.
Os adjunto un ejemplito simple para q os hagáis una idea:
Código ActionScript :
function primerTexto():void{
var cajaDeTexto:TextField = New TextField();
cajaDeTexto.text = "Primer texto";
addChild(cajaDeTexto);
}
function segundoTexto():void{
if(!(content_mc.textOnly_mc == null)){
cajaDeTexto.text = "Segundo texto";
}else{
var cajaDeTexto:TextField = New TextField();
cajaDeTexto.text = "Segundo texto";
addChild(cajaDeTexto);
}
}Existe algún modo en as3 de llamar a esas cajas de texto q aún no han sido definidas? Sino, se os ocurre alguna otra forma de reselver esto?
