I've a container called mc, inside of him I generate a grid of movieclips in order to make a wall of options. When I select one of this option, this message appears:
Error #2025: The supplied DisplayObject must be a child of the caller..
The code is:
In the Class iniciarApp I've this:
var mc:MovieClip = new MovieClip();
var grilla:Grilla = new Grilla();
mc.x = 0;
mc.y = 0;
mc.name = "square";
addChild(mc);
grilla.name = "grilla";
grilla.x = mc.x;
grilla.y = mc.y;
mc.addChild(grilla);
----------
in Grilla.as:
public class Grilla extends MovieClip {
private var boxNum:int = 48;
private var cols:int = 6;
private var rows:int = Math.ceil(boxNum / cols);
private var boxCount:int = 0;
public function Grilla(){
for (var py:int = 0; py < rows; py++) {
for (var px:int = 0; px < cols; px++) {
var caja:clip = new clip();
caja.x = -115 + caja.width * px;
caja.y = -150 + caja.height * py;
caja.name = "opcion" + (py + 1);
caja.mouseChildren = false;
var contentText = new TextField();
var formato = new TextFormat();
formato.size = 14;
contentText.defaultTextFormat = formato;
contentText.width = 36;
contentText.height = 34;
contentText.x = -10;
contentText.y = -10;
for (var u:uint = 0; u < boxNum; u++) {
contentText.text = "" + u;
}
addChild(caja);
caja.addChild(contentText);
if (boxCount < boxNum) {
caja.buttonMode = true;
caja.addEventListener(MouseEvent.CLICK, seleccionarOpcion);
}
boxCount++;
}
}
var barra:score = new score();
barra.x = 80;
barra.y = -200;
barra.puntajeTXT.text = "hola";
addChild(barra);
}
private function seleccionarOpcion(m:MouseEvent):void
{
TweenMax.to(MovieClip(m.target), 0.5, {scaleY: -1});
m.target.removeEventListener(MouseEvent.CLICK, seleccionarOpcion);
m.target.buttonMode = false;
var opcionABuscar:String;
opcionABuscar = m.currentTarget.name;
var opt:String = opcionABuscar.substring(6);
**[HERE] i need to remove the instance of grilla created in the other class**
**m.currentTarget.parent.parent.removeChild(grilla);** << this is not working
var trivia:generarTrivia = new generarTrivia(opt);
trivia.x = 0;
trivia.y = 0;
trivia.name = "trivia";
addChild(trivia);
}
}