Gracias!, ha funcionado de maravilla (aunque, solamente por medio de un método).
Un poco de código para que sea más compresible.
Clase: CTablero
Código :
package classes
{
import ...
public class CTablero extends MovieClip
{
private var casilla_btn:CCasilla;
function CTablero()
{
dibujaCasillas();
for(var i:int = 1; i <= 9; i++)
{
this.getChildAt(i).addEventListener(MouseEvent.MOUSE_DOWN,dibujaJugada)
}
// Comienza jugador 1
jugador = 1;
}
public function dibujaCasillas()
{
...
for (i = 1; i <= 3; i++)
{
this.casilla_btn = new CCasilla(_x,_y);
this.casilla_btn.name = "c" + i;
this.addChild(casilla_btn);
_x+=70;
}
}
public function dibujaJugada(e:Event):void
{
if(this.jugador == 1)
{
if(e.currentTarget.dibuja(this.jugador))
{
trace("entra");
this.jugador = 2;
}
}
...
}
private function verifica():Boolean
{
return CCasilla(this.getChildAt(1)).verEstado();
}
}
} Clase: CCasilla
Código :
package classes
{
import ...
public class CCasilla extends MovieClip
{
...
private var disabled:Boolean = false;
function CCasilla()
{}
public function dibuja(jugador:int):Boolean
{
...
}
public function verEstado():Boolean
{
return disabled;
}
}
}Así es como funciona, haciendo el casting con el método. Pero, ¿por qué no funciona si trato de acceder a una variable miembro de CCasilla (declarada como public static)?. Lo hago igual, de la forma:
return CCasilla(this.getChildAt(1)).disabled;, y marca:
Error escribió:
1119: Acceso a una propiedad disabled posiblemente no definida mediante una referencia con tipo estático classes:CCasilla.
Offtopic. Tengo otras dudas (de hecho, muchas

).
¿Qué diferencia existe en usar la propiedad
.name y hacerlo de la forma
this["nombre"] = new Clase(); ?
¿Por qué se puede acceder directamente a los métodos y variables miembro de CCasilla con
e.currentTarget.dibuja(this.jugador)? He leído la documentación, y dice (según entendí) que lo que hace currentTarget es retornar el objeto desde donde ha sido llamado el evento, supongo que es por eso. Alguien que me aclare un poco más..
Vengo de usar lenguajes de más bajo nivel, como C/C++, y se me hace muy raro la forma de trabajar de AS. No sería mejor declarar una matriz de una clase y hacer referencia a cada objeto mediante su correspondiente índice. ¿Se puede?.
No es necesario que respondan todas las preguntas, pero me serviría de mucho y estaría más que agradecido.
Saludos.