Je me permets de venir vous demander de l'aide car je peine actuellement sur un problème relatif à la suppression de movieclips contenus dans un tableau.
J'ai donc créer un tableau de variables contenant des mc qui sont affichés grâce à un DisplayObjectContainer. A cela j'ai ajouté un autre tableau de variables numériques, dont les valeurs changent après chaque clic sur un mc. Lorsque 3 variables numériques spécifiques ont une valeur de 1 (et que donc les 3 mc spécifiques ont été cliqués), tout les autres mc doivent disparaître.
Mais il se trouve que j'ai une erreur "#2025: The supplied DisplayObject must be a child of the caller".
Voici mon code (loin d'être propre je vous l'accorde, mais je suis débutant, alors pas taper !

(sinon si vous préférez j'ai joint le fichier en pièce jointe)
import flash.display.DisplayObjectContainer;
import flash.text.TextField;
import flash.display.MovieClip;
import com.greensock.*;
import com.greensock.easing.*;
import flash.events.Event;
import flash.display.DisplayObject;
/*
* VARIABLES
*/
var case_1:mc_case_1 = new mc_case_1();
var case_2:mc_case_2 = new mc_case_2();
var case_3:mc_case_3 = new mc_case_3();
var case_4:mc_case_4 = new mc_case_4();
var case_5:mc_case_5 = new mc_case_5();
var case_6:mc_case_6 = new mc_case_6();
var case_7:mc_case_7 = new mc_case_7();
var case_8:mc_case_8 = new mc_case_8();
var case_9:mc_case_9 = new mc_case_9();
var case_h_a:int = 0;
var case_h_b:int = 0;
var case_h_c:int = 0;
var case_m_a:int = 0;
var case_m_b:int = 0;
var case_m_c:int = 0;
var case_b_a:int = 0;
var case_b_b:int = 0;
var case_b_c:int = 0;
var toutes_les_cases:Array=[case_1, case_2, case_3, case_4, case_5, case_6, case_7, case_8, case_9]; // liste des mc_cases
var valeurs_cases:Array=[case_h_a, case_h_b, case_h_c, case_m_a, case_m_b, case_m_c, case_b_a, case_b_b, case_b_c];// liste des variables num. associées aux mc_cases
var un_mc_case:DisplayObjectContainer; // énumération des mc_case
/*
* CODE PRINCIPAL
*/
// code commun à tous les mc_case
for each (un_mc_case in toutes_les_cases)
{
un_mc_case.x = stage.stageWidth / 2;
un_mc_case.y = stage.stageHeight / 1.99;
un_mc_case.addEventListener (MouseEvent.MOUSE_DOWN, clic_case);
addChild (un_mc_case);
}
// cas particuliers des mc_case
case_1.x -= case_1.width;
case_2.x == case_1.width;
case_3.x += case_2.width;
case_4.x -= case_5.width;
case_4.y += case_1.height;
case_5.y += case_5.height;
case_6.x += case_5.width;
case_6.y += case_3.height;
case_7.x -= case_1.width;
case_7.y += case_9.height*2;
case_8.x == case_1.width;
case_8.y += case_9.height*2;
case_9.x += case_9.width;
case_9.y += case_9.height*2;
/*
* FONCTIONS
*/
for each (un_mc_case in toutes_les_cases) {
function clic_case(event:Event):void // Les trois bonnes cases sont cliquées
{
event.currentTarget.removeEventListener (MouseEvent.MOUSE_DOWN, clic_case);
if (event.currentTarget == case_1){
case_h_a = 1;
trace("H_A="+case_h_a.valueOf());
}
if (event.currentTarget == case_2){
case_h_b =1;
trace("H_B="+case_h_b.valueOf());
}
if (event.currentTarget == case_3){
case_h_c =1;
trace("H_C="+case_h_c.valueOf());
}
if (event.currentTarget == case_4){
case_m_a =1;
trace("M_A="+case_m_a.valueOf());
}
if (event.currentTarget == case_5){
case_m_b =1;
trace("M_B="+case_m_b.valueOf());
}
if (event.currentTarget == case_6){
case_m_c =1;
trace("M_C="+case_m_c.valueOf());
}
if (event.currentTarget == case_7){
case_b_a =1;
trace("B_A="+case_b_a.valueOf());
}
if (event.currentTarget == case_8){
case_b_b =1;
trace("B_B="+case_b_b.valueOf());
}
if (event.currentTarget == case_9){
case_b_c =1;
trace("B_C="+case_b_c.valueOf());
}
for (var i = 0; i < valeurs_cases.length; i++) {
if (case_h_a == 1 && case_h_b == 1 && case_h_c == 1) {
toutes_les_cases.splice(0,2)// bonnes cases enlevées du tableau
for each (un_mc_case in toutes_les_cases) { //<---c'est la que ça coince
removeChild(un_mc_case);
}
}
} else if (case_m_a == 1 && case_m_b == 1 && case_m_c == 1) {
//pas fini
} else if (case_b_a == 1 && case_b_b == 1 && case_b_c == 1) {
//pas fini
} else if (case_h_a == 1 && case_m_a == 1 && case_b_a == 1) {
//pas fini
} else if (case_h_b == 1 && case_m_b == 1 && case_b_b == 1) {
//pas fini
} else if (case_h_c == 1 && case_m_c == 1 && case_b_c == 1) {
//pas fini
} else if (case_h_a == 1 && case_m_b == 1 && case_b_c == 1) {
//pas fini
} else if (case_h_c == 1 && case_m_b == 1 && case_b_a == 1) {
//pas fini
}
}
}
}