Sólo una ADVERTENCIA. en AS3 lo que tenemos son "variables que hacen referencia a MCs". Así que lo que haces es tener unas "variables que hacen referencia a". Por cierto que sería
Código ActionScript :
for(x=0; x<10; x++){
this["carro"+(x+1)]=new objecto_biblioteca();
addChild(this["carro"+(x+1));
}
En AS3, a un DisplayObject (o algún objeto -instancia- que proceda de una clase que sea DisplayObject o de alguna clase que extienda de DisplayObject -Sprite, MovieClip, Loader...-) nos podemos referir
1.-Mediante una variable, tal y como indica Zguillez
2.-Idénticamente lo podemos meter en un array
3.-Si le damos valor a su propiedad "name", mediante getChildByName. ¡OJO! la propiedad "name" NO TIENE NADA QUE VER con el "nombre de instancia"
Código ActionScript :
for(x=0; x<10; x++){
var carro:objecto_biblioteca=new objecto_biblioteca();
//le damos valor a la propiedad "name"
carro.name="carro"+x
addChild(carro);
}
//En cualquier momento podríamos escribir
x=0
var carro_ref:objeto_biblioteca=getChildByName("carro"+x) as objeto_biblioteca //(*)
//Ahora con, nuestra nueva variable, p.e.
carro_ref.x=300
(*)ese "as objeto biblioteca" Se llama "conversión de cast", que indica que nuestro "carro_ref" no es sólo un DisplayObject sino un objeto de tipo "objeto_biblioteca"
4.-Si sabemos su "depth", mediante getChildAt. idénticamente debemos usar una conversión de cast luego
Código ActionScript :
for(x=0; x<10; x++){
var carro:objecto_biblioteca=new objecto_biblioteca();
//le damos valor a la propiedad "name"
carro.name="carro"+x
addChildAt(carro,x);
}
//En cualquier momento podríamos escribir
x=0
var carro_ref:objeto_biblioteca=getChildAt(x) as objeto_biblioteca
//Ahora con, nuestra nueva variable, p.e.
carro_ref.x=300