puedes seguir usando la "notación de corchetes" con this, parent o root para referinos a una variable que haga referencia a un Mc. Vale, lo he enrevesado así que a ver si lo deslío. En AS.3 lo que estamos constantement haciendo es tener variable que hacen referencia a un MC. De hecho, cuando le damos "nombre de instancia" a un MC lo que hacemos es crear una variable que hace referencia a dicho MC.
En AS.2 podíamos escribir, p.e.
Código :
mivariable=mc1
//y ahora podemos usar "mivariable"
mivariable._x=300
Pero ¡OJO! no confundamos esa "variable" (el nombre de instancia) con la propiedad "name" de nuestro MC. Así que puedes escribir algo como
Código ActionScript :
for(i=1;i<6;i++){
root["mc"+i].x=300
}
Por otra parte, ya NO se controlan los eventos tal y como escribes, sino con addEventListener. Así que pondríamos
Código ActionScript :
for (int:i=1;i<6;i++){
root["mc"+i].addEventListener(MouseEvents.CLICK, onReleaseMc)
}
function onReleaseMc(e:MouseEvent){
var mc:MovieClip=e.target as MovieClip
trace(mc.name)
animar(cuadro_mc)
}
Observa que, al igual que en AS.2 es la misma función la que se ejecuta para todos los "mc"s. A la función la he llamado onReleaseMc, pero la podía haber llamado "porompompero". Observa, además que esa función siempre tiene un argumento. en este caso como el listener que añadimos es de tipo MouseEvent, el argumento es también de ese tipo. en "e.target" tenemos quién ha sido pulsado. Hago una "conversión de cast" para indicarle que es de tipo MovieClip y usa una variable auxiliar, pera poder escribir, p.e. trace (mc.name)