IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Tableau, Boucle, URLRequest


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Par défaut Tableau, Boucle, URLRequest
    Bonjour !

    Voilà je vous explique mon problème pas très simple à comprendre...
    Je suis en train de réaliser une galerie de photos. Cette galerie se compose de miniatures sur lesquels un click de la souris ouvre la photo en plus grande résolution.

    J'ai 83 miniatures de photos sur ma scène. Je souhaite donc ajouter à chacune d'elles un écouteur de type MouseEvent.CLICK afin d'écouter le click de la souris sur chaque miniature :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for(i = 1; i < 84; i ++) {
     
    // rando2005Miniature1_mc représente par exemple la première miniature photo.
     
    this["rando2005Miniature" + i + "_mc"].addEventListener(MouseEvent.CLICK, rando2005ChargementPhotos);
     
    }
    Donc me voilà avec 83 écouteurs en mémoire qui écoutent chacun leur miniature.

    Maintenant, je créé un tableau afin d'enregistrer en mémoire les chemins des photos agrandie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var urlPhotosRando2005:Array = new Array();
     
    // Je fais commencer mon tableau à 1
     
    for (i = 1; i < 84; i++) {
     
    urlPhotosRando2005[i] = "trekPhotos/rando2005Photo" + i + ".jpg";
     
    }
    J'ai donc maintenant tout les chemins des photos agrandies en mémoire.

    Sachant que les écouteurs appellent tous la même fonction "rando2005ChargementPhotos", comment déclarer, dans celle-ci, l'association de la miniature avec l'élément du tableau qui lui correspond...

    En gros, comment associer "rando2005Miniature1_mc" à "urlPhotosRando2005[1]" dans la fonction "rando2005ChargementPhotos"...

    C'est la question ...

    J'ai commencé à écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function rando2005ChargementPhotos(evt:MouseEvent):void {
     
    chargeurImages.load(new URLRequest(urlPhotosRando2005[i]));
     
    chargeurImages.contentLoaderInfo.addEventListener(Event.OPEN, ouvertureChargementPhoto);
    chargeurImages.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressionChargementPhoto);
    chargeurImages.contentLoaderInfo.addEventListener(Event.COMPLETE, finChargementPhoto);
     
    }
    Et je bloque, je ne vois pas comment faire l'association... Quelqu'un pourrait-il me donner une piste ?

    D'avance merci.

    Yann

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Par défaut
    C'est bon j'ai trouvé

    Il suffit d'ajouter une variable associée à chaque miniatures :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
        var numero:int = new int();
        var urlPhotosRando2005:Array = new Array();
     
        for (i = 1; i < 84; i++) {
                // Enumération des miniatures
                this["rando2005Miniature" + i + "_mc"].numero = i;
                // Création des urls dans le tableau
                urlPhotosRando2005[i] = "trekPhotos/rando2005Photo"+i+".jpg";
                // Création des écouteur souris
                this["rando2005Miniature" + i + "_mc"].addEventListener(MouseEvent.ROLL_OVER, miniatureRollOver);
                this["rando2005Miniature" + i + "_mc"].addEventListener(MouseEvent.ROLL_OUT, miniatureRollOut);
                this["rando2005Miniature" + i + "_mc"].addEventListener(MouseEvent.CLICK, rando2005ChargementPhotos);
        }
     
        public function rando2005ChargementPhotos(evt:MouseEvent):void {
                chargeurImages.load(new URLRequest(urlPhotosRando2005[evt.currentTarget.numero]));
                chargeurImages.contentLoaderInfo.addEventListener(Event.OPEN, ouvertureChargementPhoto);
                chargeurImages.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressionChargementPhoto);
                chargeurImages.contentLoaderInfo.addEventListener(Event.COMPLETE, finChargementPhoto);
        }

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Par défaut
    salut.
    Je me trouve en ce moment devant un problème similaire, avec une réponse qui doit être tout aussi simple, mais je bloque depuis 24h
    Pour avoir la liberté de nommer mes miniatures ainsi que mes grandes images librement, je passe par un XML dont voici la structure:
    <printGallery> //noeud racine
    <Pic>
    <thumb>portofolio/thumbs/machin_Th.jpg</thumb>
    <big>portofolio/img/machin.jpg </big>
    </Pic>
    </printGallery >

    voici l'AS après "loadage" du XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     private function loadedXML(e:Event){ 
     
         xml = XML(e.target.data);  
         xmlList = xml.children(); //children = < pic > 
         for (var i:int = 0; i < xmlList.length(); i++) { 
             var vignette:thumbContener = new thumbContener(); //mc generique de la bibliothèque
             tabMC[i] = vignette;//tableau pour stocker les occurence de MC 
             addChild(vignette); 
             tableauThumbs[i] = new Loader();//tableau recupérant les URLs des thumbs 
             vignette.addChild(tableauThumbs[i]); 
             tableauThumbs[i].load(new URLRequest(xmlList[i].thumb));                            ableauThumbs[i].contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
             vignette.addEventListener(MouseEvent.MOUSE_UP, onClic); 
             } 
             } 
         private function onComplete(e:Event){ 
             indexThumbs++; 
             var  cible:MovieClip = e.target.content.parent.parent;  
             cible.x = Math.random() * (stage.stageWidth - cible.width);  
             cible.y = Math.random() * (stage.stageHeight - cible.height); 
             cible.buttonMode=true; 
             } 
         private function onClic(e:MouseEvent){ 
             //euuuuuuuhhhhhhh! arrrrgh!!! mmmmmmfffhhhh!! grrrrrrrrrrr! 
             }
    une idée pour faire la correspondance des URLs?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] archivage tableau - boucle
    Par chacha49 dans le forum Excel
    Réponses: 4
    Dernier message: 18/07/2011, 17h08
  2. Tableau + boucle XML
    Par Santcho dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 04/06/2010, 11h33
  3. [W3C] [W3C] Respect du W3C pour tableau & boucle
    Par Lenezir dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 08/02/2009, 10h48
  4. variable tableau boucle
    Par gyver4000 dans le forum Langage
    Réponses: 8
    Dernier message: 22/06/2008, 13h17
  5. [MySQL] explode tableau boucle
    Par oim dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/03/2008, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo