Evilactiviti, si tienes la "propiedad" "name" puedes, siempre que lo hayas AÑADIDO -con un addChild. Si no lo añades no lo encontrará.
Código ActionScript :
getChildByName("box"+i).x=100*i;
Por cierto, no hace falta ninguna conversión de cast en este caso, puesto que getChildByName (mira la
ayuda devuelve un "DisplayObject". Como un displayObject tiene la "propiedad" x, no te hace falta ninguna conversión de cast -decirle que es un MovieClip-
La "conversión de cast" a MovieClip es porque las únicas clases que no son selladas son MovieClip y Object. Eso quiere decir en la práctica que el compìlador da error si escribimos algo como
Código ActionScript :
algo.mivariable=100 //da error si "algo" NO es un MovieClip
mimovieclip.mivariable=100 //no da error porque miclieclip es un MovieClip
cuando usamos un método debemos fijarnos siempre qué es lo que nos devuelve. Así, p.e. getChildByName devuelve siempre algo de tipo DisplayObject, la propiedad "target" es de tipo Objeto, etc.
Si nosotros sabemos que lo que nos devuelve es "algo más" debemos hacer una "conversión de cast" para decirle que es algo más.
Imagina que tenemos un MovieClip cuyo nombre es "mimc"
Código ActionScript :
var do:DisplayObject=getChildByName("mimc")
var mc:MovieClip=getChildByName("mimc") as MovieClip
do.gotoAndPlay(1) //<--da error, puesto que es un displayObject
//y un displayObject no tiene el método "gotoAndPlay"
mc.gotoAndPlay(1) //sí funciona
//si lo hacemos en una sola línea
getChildByName("mimc").gotoAndPlay(1) //<--da error, puesto que gotoAndPlay NO es
//un método de displyObject
MovieClip(getChildByName("mimc")).gotoAndPlay(1) //funciona
Sí, hay dos modos de hacer una "conversión de cast"
Código ActionScript :
(getChildByName("mimc") as MovieClip).gotoAndPlay(1)
//ó
MovieClip(getChildByName("mimc")).gotoAndPlay(1)