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 1 & ActionScript 2 Discussion :

portfolio en AS + xml


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut portfolio en AS + xml
    Bonsoir,

    Je suis en train de réaliser un portfolio en flash.
    Je souhaite afficher des vignettes sur 4 colonnes et x lignes.
    Tant qui il y a des images ds mon fichier xml, il les charger ds flash.
    Sur ma scène principale, j'ai un premier calque où j'ai un clip qui a comme occurrence "cadre". Et une autre image clé vide qui comporte le code ci-dessous. Le problème est que mes images ne se loade pas ds mes clips.

    Merci pour votre aide.



    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    tabimage = new Array(); 
    XMLimage = new XML(); 
    XMLimage.ignoreWhite = true; 
    XMLimage.onLoad = function() { 
      //masquer le clip de base 
       _root.cadre._visible = 0; 
       //définir nombre d'image par ligne 
      colonne = 4; 
        //remplir le tableau avec toutes les balises comprises dans <images></images> du XML 
        tabimage = XMLimage.firstChild.childNodes; 
      //boucler autant de fois qu'il y a de balises photo  
        for (i=0; i<tabimage.length; i++) { 
          //dupliquer le clip 
         _root.cadre.duplicateMovieClip("cadre"+i, i*1+5000); 
            //on attache la photo au clip "glu" (celui qui a une position bizarre) 
          _root["cadre"+i].glu.loadMovie(XMLimage.firstChild.childNodes[i].childNodes[0].firstChild); 
         //attacher la description texte à la photo correspondante 
           _root["cadre"+i].textes = (XMLimage.firstChild.childNodes[i].childNodes[1].firstChild); 
         //positionner les images et leur cadre de la première ligne 
         if (i<colonne) { 
             _root["cadre"+i]._y = 50; 
               _root["cadre"+i]._x = 100*i+50; 
             //positionner les autres lignes par rapport a la précédente 
         } else { 
                _root["cadre"+i]._y = Number(_root["cadre"+(i-colonne)]._y)+100; 
                _root["cadre"+i]._x = _root["cadre"+(i-colonne)]._x; 
            } 
    		_root["cadre"+i].onRollover=function(){
    			this._alpha=60;
    		}
     
    		_root["cadre"+i].onRollover=function(){
    			this._alpha=60;
    		}
     
     
     
       } 
    }; 
    XMLimage.load("portfolio.xml"); 
    stop();
    Voici maintenant mon fichier xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <images>
    <photo url="lost1.jpg" caption="Sayid tries to explain to electronics theory to Kate." />
    <photo url="lost2.jpg" caption="Locke tries again to explain to Jack why he's not crazy." />
    <photo url="lost3.jpg" caption="Its confirmed, Jack's dad is dead as a doornail." />
    <photo url="lost4.jpg" caption="Boone getting saved, but it won't do him any good." />
    <photo url="lost5.jpg" caption="Jack and Hurley saving Claire from the wreckage." />
    </images>

  2. #2
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    bonjour,
    si tu fais une trace de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trace(XMLimage.firstChild.childNodes[i].childNodes[0].firstChild);
    tu obtiens undefined!!
    par contre si tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XMLimage.firstChild.childNodes[i].attributes.url
    tu obtiens "lost1.jpg"

    j'ai pas testé tout le reste du code mais ça doit commencer à arranger les choses...

  3. #3
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut Portfolio en AS + xml
    Bonjour,

    Merci pour ta réponse...effectivement en faisant ce que tu me dis ça commence à s'arranger...le trace me récupère bien le nom de mes images.
    Mais je n'arrive toujours pas à les afficher ds mon clip
    J'ai remplacé firstChild par attributes.url
    Que me conseilles tu ?
    Merci d'avance.
    A+

  4. #4
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    apparemment le code dont on dispose est incomplet ?
    chez moi :
    est undefined...

  5. #5
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut Portfolio en AS + xml
    Voici le code ci-dessous :
    Pour info c'est un code que j'ai récupéré mais pas facile à adapter.
    De plus je ne comprend pas cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      //on attache la photo au clip "glu" (celui qui a une position bizarre) 
        _root["cadre"+i].glu.loadMovie(XMLimage.firstChild.childNodes[i].childNodes[0].firstChild);
    Pouvez vous m'expliquer. Sinon sur ma scène principale, j'ai un clip avec comme propriété "cadre". Me faut il autre chose ?? (un clip "glu???")..mais à quoi sert il ?

    Merci de vos réponses.


    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    tabimage = new Array(); 
    XMLimage = new XML(); 
    XMLimage.ignoreWhite = true; 
    XMLimage.onLoad = function() { 
      //masquer le clip de base 
       _root.cadre._visible = 100; 
       //définir nombre d'image par ligne 
      colonne = 4; 
        //remplir le tableau avec toutes les balises comprises dans <images></images> du XML 
        tabimage = XMLimage.firstChild.childNodes; 
     
      //boucler autant de fois qu'il y a de balises photo  
        for (i=0; i<tabimage.length; i++) { 
          //dupliquer le clip 
     
         _root.cadre.duplicateMovieClip("cadre"+i, i*1+5000); 
     
    	// trace(XMLimage.firstChild.childNodes[i].childNodes[0].firstChild);
    	trace (XMLimage.firstChild.childNodes[i].attributes.url);
            //on attache la photo au clip "glu" (celui qui a une position bizarre) 
          _root["cadre"+i].glu.loadMovie(XMLimage.firstChild.childNodes[i].childNodes[0].firstChild); 
         //attacher la description texte à la photo correspondante 
           _root["cadre"+i].textes = (XMLimage.firstChild.childNodes[i].childNodes[1].firstChild); 
         //positionner les images et leur cadre de la première ligne 
         if (i<colonne) { 
             _root["cadre"+i]._y = 50; 
               _root["cadre"+i]._x = 100*i+50; 
             //positionner les autres lignes par rapport a la précédente 
         } else { 
                _root["cadre"+i]._y = Number(_root["cadre"+(i-colonne)]._y)+100; 
                _root["cadre"+i]._x = _root["cadre"+(i-colonne)]._x; 
            } 
    		_root["cadre"+i].onRollover=function(){
    			this._alpha=60;
    		}
     
    		_root["cadre"+i].onRollover=function(){
    			this._alpha=60;
    		}
     
     
     
       } 
    }; 
    XMLimage.load("portfolio.xml"); 
    stop();

  6. #6
    Membre Expert Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Par défaut
    bonjour,

    je ne sais pas à quoi peut servir le clip "glu" mais par contre tel que ton code se présente il faut créer un clip vide, le placer dans le clip "cadre" et le nommer dans le panneau propriété "glu" et dans ce cas ça marche... il charge les images lost1 lost2 etc. dans le clip "glu" lui même inclu dans "cadre1", "cadre2" etc.
    A noter que tel que le code est écrit il faut placer tes images au même endroit que tout les autres fichiers, xml, swf etc.

    voilà c'est tout...

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

Discussions similaires

  1. Développement d'un portfolio en flash+xml
    Par sebastien reaze dans le forum Flash
    Réponses: 13
    Dernier message: 20/10/2008, 21h23
  2. portfolio en AS + xml (le retour:))
    Par stef51 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 21/03/2008, 14h19
  3. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  4. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  5. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 13h51

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