Retirez le clip as3
Ok cela a été me rend fou depuis quelques heures et je sais que il n'y est une réponse facile.
J'ai un scrollPane qui a un clip intitulé right_container_mc que c'est la source.
À l'intérieur de ce right_container_mc j'ai d'autres d'autres clips appelé execiseBox qui sont ajoutés (dans la position correcte sur la scène) à partir d'un tableau avec une boucle for.
Chaque exercice comprend un symbole de bouton appelé close_btn.
Tout d'abord, je ne suis pas sûr que ce soit la meilleure façon de le réaliser, alors n'hésitez pas à suggérer une meilleure façon!
Ce que je veux faire, c'est quand cette close_btn est cliqué retirer les exerciseBox movieclip de la matrice et de la scène puis la boucle à travers la matrice de nouveau donc, l'ensemble de l'exercice de la boîte de movieclips mise à jour de leur position sur la scène.
Je vais avoir du mal à obtenir une référence au clip parce qu'il est imbriqué à retirer de la pile et de la scène. Voici le code que j'ai à ce jour, besoin d'ajouter dans la suppression et la mise à jour des pièces. Aussi est ce que je devrais être en supprimant toutes les instances de la exerciseBox clips avant que la pile de boucle s'exécute à chaque fois??
Toute aide est grandement appréciée.
function addMovieClipsToStage(event:MouseEvent):void
{
scrollPaneRight.source = right_container_mc;
exerciseBox = new Exercisebox();
exerciseBox.close_btn.addEventListener(MouseEvent.CLICK, onRemoveBox);
boxArray.push(exerciseBox);
sortBoxes();
scrollPaneRight.update();
}
function onRemoveBox(event:MouseEvent):void
{
}
function sortBoxes():void
{
for (var i:int =0; i<boxArray.length; i++)
{
right_container_mc.addChild(exerciseBox);
exerciseBox.x = 0;
exerciseBox.y = ((115 + 3)*i);
}
}
Vous devez vous connecter pour publier un commentaire.
dans votre onRemoveBox fonction
événement.currentTarget devez retourner l'objet que la fonction a été déclenchée par l'.
De voir que cet objet est un enfant de right_container_mc peut-être que vous pourriez essayer:
Basé sur le code que vous avez posté, je ne suis pas sûr de vous même pas besoin d'un tableau. Il semblerait que vous utilisez pour garder une trace du nombre d'enfants. Afficher la liste déjà fait cela pour vous.
Donc je pense que votre tri pourriez simplement référence
right_container_mc.numChildren
au lieu d'un tableau de longueur.Espère que cela aide!
Afin de se débarrasser de la boxArray, vous pouvez simplement faire une boucle par tous les ExerciseBoxes dans right_container_mc.
Pour plus d'informations sur "for each ... in', découvrez http://help.adobe.com/en_US/AS3LCR/Flash_10.0/statements.html#for_each..in
Pour quelque raison que pour chaque boucle dans le sortBoxes fonction n'est pas à la cuisson. J'ai ajouté une instruction trace pour vérifier cela et rien ne se passe, voici le code mis à jour: