Action script 3

Bonjour,
je debute avec as3 alors que j'essaie de faire une galerie photo pour mon site et j'ai trouver quelque difficulté lorsque je charge un swf suite a l'action d'un bouton il m'affiche l'erreur suivante :

ArgumentError: Error #2025: Le DisplayObject indiqué doit être un enfant de l'appelant.
at flash.display::DisplayObjectContainer/removeChild()
at anim1_fla::MainTimeline/visibilite3()

si vous pouvez m'aidez je serai vraiment ravi.

cordialement
Configuration: Windows XP
Safari 532.0

11 réponses

  1. je croi que c'est un pas vague pour moi et que je doit refaire tout le code que j'ai fait avec as3 dont je n'ai pas le temps je voudrais juste savoir quels sont les outils ou les conditions pour utiliser une fonction lorsque je clique sur le groupeA (clip qui contien des bouton de a1 jusqua a18) afficher les images addChild(conteneurIMG) et le bouton prev =?? pour que je puisse activer ces images pour charger l'image a1, a2, a3 ......
    voila j'ai chercher sur le net j'ai rien trouver si vous pouvez m'aidez ça sera tres gentil.

    merci
    1. il te faut un
      removeChild();

      tu tape dans google erreur #2025 et tu va avoir la reponse.
      1. Contributeur
        Il te faut un
        removeChild();


        non justement , je lui demande si avant d appeler un removeChild();

        il as bien mis un addChild avant !!

        parce que par définition si tu veux retirer un enfant il faut d abord l avoir cree ! ;-)))

        c est une erreur frequente de debutant en AS !!
    2. voila merci bien pour votre aide mais voila j'ai trouver l'erreur juste avant de poster cette question et bien sure j'ai bien mis mon addChild pour afficher mon conteneur et ce que que j'ai voulu faire c'est de retiré l'içmage juste apres le chargement d'un autre groupe d'images bein voila il me faut juste un

      "conteneurImage.unload();" voila qui manque pour que mon probleme soit claire aux autres voila un peu mon code
      ////////////////////
      function btnClickHoriz(event:MouseEvent):void{
      groupea1.visible=false;
      groupea2.visible=false;
      groupea3.visible=false;
      var newIMGRequest:URLRequest=new URLRequest("groupe1/"+event.target.name+".jpg");
      conteneurImage.load(newIMGRequest);

      conteneurImage.x=Xposi;
      conteneurImage.y=Yposi;
      addChild(conteneurImage);
      }

      function visibilite1(event:MouseEvent):void{

      var newIMGRequest:URLRequest=new URLRequest("groupe1/"+event.target.name+".jpg");
      conteneurImage.unload();
      groupea1.visible=true;
      groupea2.visible=false;
      groupea3.visible=false;
      }
      ///////////////////////// et n'oubli de definir les fonction et les types en haut.

      merci bien pour votre aide
      1. bon encore une question svp

        je veu bien changer limage avec un bouton next et charger un texte associer avec pourriez vous m'aidez

        merci
        1. http://jeanmichel.gens.free.fr/swfc/hili.php?v=visio3 un exemple trés simple
          1. merci pour ta réponse mais je veux juste savoir comment je doit déclaré une fonction qui permet l'affichage de l'image suivante je veux dire qu'est ce doit declaré au juste car la galerie que je doit utiliser comporte beaucoup des images et si je refait le code que tu m'a donner j'aurai un code de 1000 ligne.

            merci
            1. bon j'ai pas utiliser un package car j'utilise pas un fichier .as mais un fichier .fla pour clarifier les choses j'utilise un 3 clip qui comporte chaqu'un plusieurs bouton , chaque bouton charge une image ça c bon. mais je voudrais mettre deux bouton prev et next pour permettre le passage d'une image a l'autre.

              merci
              1. tu peux t'inspirer de la lecture de ce code pour résoudre ton probleme
                si tu n'y arrives pas c est que flash cs3 est trop compliqué
                tu peux juger avec l'ensemble des exemples de ce dossier que l'on peut faire du flash sans utiliser flash cs3 ou cs4 c'est peut etre un plus difficile mais au moins on comprend mieux comment cela fonctionne
                http://jeanmichel.gens.free.fr/swfc/
                tu seras obligé à un moment à un autre d'associer de l'actionscript à tes objets boutons, movieclip , sprite etc ...
                alors retrousses tes manches

                contact  vocal par mon site voir profil (suis inscrit)
                1. tu sais consulter les messages privés
                  1. oui sayé g installer teamspeak 3 et je doit fair quoi
                2. voila une partie de mon code .fla

                  var loader:Loader=new Loader();
                  var Xpos:Number=130;
                  var Ypos:Number=100;

                  btnprev.visible=true;
                  btnnext.visible=true;
                  b1.visible=true;
                  b2.visible=true;

                  groupea1.visible=true;
                  groupea2.visible=false;

                  var conteneurImage:Loader = new Loader();

                  addChild(conteneurImage);

                  ///////////////////////////////////// cette foncton ne marche pas
                  function prevnext(event:MouseEvent):void {
                  var newIMGRequest:URLRequest=new URLRequest("groupe1/"+event.target.name+".jpg");
                  conteneurImage.load(newIMGRequest);
                  if (groupea1==true) {
                  btnnext=event.target.name+1;
                  }

                  }
                  ////////////////////////////////////////////////

                  function btnClick(event:MouseEvent):void{
                  groupea1.visible=false;
                  groupea2.visible=false;
                  var newIMGRequest:URLRequest=new URLRequest("groupe1/"+event.target.name+".jpg");
                  conteneurImage.load(newIMGRequest);
                  conteneurImage.x=Xpos;
                  conteneurImage.y=Ypos;
                  addChild(conteneurImage);
                  }

                  function visibilite1(event:MouseEvent):void{
                  conteneurImage.unload();
                  groupea1.visible=true;
                  groupea2.visible=false;
                  }

                  function visibilite2(event:MouseEvent):void{
                  conteneurImage.unload();
                  groupea1.visible=false;
                  groupea2.visible=true;
                  }

                  btnnext.addEventListener(MouseEvent.CLICK,prevnext);

                  b1.addEventListener(MouseEvent.CLICK,visibilite1);
                  b2.addEventListener(MouseEvent.CLICK,visibilite2);

                  groupea1.a1.addEventListener(MouseEvent.CLICK,btnClick);
                  groupea1.a2.addEventListener(MouseEvent.CLICK,btnClickHoriz);
                  .
                  .
                  groupea1.a18.addEventListener(MouseEvent.CLICK,btnClickHoriz);

                  groupea2.a19.addEventListener(MouseEvent.CLICK,btnClick);
                  groupea2.a20.addEventListener(MouseEvent.CLICK,btnClick);
                  .
                  .
                  groupea2.a36.addEventListener(MouseEvent.CLICK,btnClick);