begin process at 2012 05 26 13:58:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

XML

 > 

Afficher une photo à partir d'un fichier xml


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Afficher une photo à partir d'un fichier xml

mercredi 16 mai 2007 à 16:53:33 | Afficher une photo à partir d'un fichier xml

way2web

Bonjour,
j'essaye de créer une galerie photos en flash qui charge les images depuis un fichier xml, je suis actuellement bloqué à l'étape où je souhaiterais afficher une image au choix à partir du xml parsé. Je ne vois pas à quelle variable je dois m'adresser dans ma fonction charge_photo ?? (j'ai mis en rouge l'endroit dans le code où je bloque...)

Merci d'avance !


voici les étapes que j'ai suivi jusque ici :
  1. J'ai créé deux dossiers :
    un contenant les photos grandeur nature (redimensionnées plus ou moins aux mêmes dimensions)
    un autre contenant les mêmes photos mais en miniatures

  2. J'ai créé un fichier xml avec la structure suivante :
    <image>
         <year>2007</year>
        <picture>pictures/2007/buslondon.jpg</picture>
        <thumb>thumbs/2007/buslondon_thumb.jpg</thumb>
        <caption>Artwork "LondonBus"</caption>   
      </image> 

    pour chaque image le tout encapsulé dans une balise root <album>
    Ce fichier xml est enregistré à la racine du dossier

    1. J'ai repris le script pour parser le XML


      function init()
      {
          //déclaration du répertoire des images
          _global.cheminImages = "pictures/";
          //déclaration du tableau principal
          _global.linkArray = Array();
          //creation d'un clip Vide dans lequel on chargera les images
          _root.createEmptyMovieClip("mc_img_load", 40);
          //positionner le MovieClip de façon à ce qu'il ne masque pas les boutons
          _root.mc_img_load._x = 200;
          _root.mc_img_load._y = 10;
          //
          //
          //chargement / parsing du XML
          myXML = new XML();
          myXML.ignoreWhite = true;
          myXML.path = "print_portfolio.xml";
          myXML.load(myXML.path);
          myXML.onLoad = function(success)
          {
              if (success)
              {
                  //1ère philosophie : utiliser un tableau pour accéder au contenu du xml avec les [index]
                  var mxml = new Array();
                  mxml = myXML.firstChild.childNodes;
                  //ce trace nous montre tout le contenu du xml, on se trouve dans "<album>"
                  //trace(mxml);
                  //qtité de nodes au premier niveau
                  var qtity_nodes = mxml.length;
                  //trace(qtity_nodes); vérifier la quantité d'images <images>
                  for (var i = 0; i<qtity_nodes; i++)
                  {
                      //chercher s'il sagit dune balise "image" ou pas
                      if (mxml[i].nodeName.toLowerCase() == "image")
                      {
                          //
                          var qtity_sub_node = mxml[i].childNodes.length;
                                              
                          var annee = mxml[i].childNodes[0].childNodes;
                          var imgNode = mxml[i].childNodes[1].childNodes;
                          var caption = mxml[i].childNodes[3].childNodes;
                          trace(annee+" "+imgNode+" "+caption)
                          /*                                                            */
                          //array temporaire
                          var tmpArray = Array();
                          //boucler à l'intérieure de <image>
                          for (var j = 0; j<qtity_sub_node; j++)
                          {
                              //on récupère le [j] ème élément à l'intérieure de <image>
                              var contenu = mxml[i].childNodes[j].childNodes;
                              //qu'on ajouter à l'array temporaire
                              tmpArray.push(contenu);
                          }
                          //une fois qu'on a bouclé à l'intérieure de <image>, on ajoute le tableau temporaire au tableau général
                          _global.linkArray.push(tmpArray);
                      }
                                      
                  } //fin du for (var i = 0; i<qtity_nodes; i++) ligne 30
                  
                  //une fois que tout le xml est parsé, on attache les boutons
                  attachButtons();
              } // fin du if (success) ligne 20
              
              else
              {
                  trace("error loading XML");
              }
          }; //fin de la fonction myXML.onLoad = function(success) ligne 18
          
                                
                                  
      } //fin de la fonction init() ligne 1

      init();


      Bon jusque là ça va, le trace me montre bien le chemin de mes fichiers images, l'année et le caption


  3. Maintenant comment pourrais je simplement afficher une image contenue dans ce dossier

    avec une fonction genre  :
function charge_photo()
{  
    photo_a_charger = à quelle variable présente dans la fonction précédente dois je m'adresser ? est-ce que je serai m'adresser à cette variable ici si elle n'est pas définie à l'extérieur de la fonction ??
    trace(photo_a_charger);
   
mc_img_load.loadMovie(photo_a_charger);
}
// appel de la fonction
charge_photo();


Cette discussion est classée dans : var, xml, photo, childnodes, mxml


Répondre à ce message

Sujets en rapport avec ce message

Menu XML avec sous rubriques qui se rechargent [ par fandeflash ] Bonjour, J'ai repris le modèle de Flash MX pour faire un menu horizontal avec contenu en XML. mon site est en php et a chaque fois qu'on clique sur u boucler l'affichage photo,info d'1 xml [ par guest ] salut tout le monde,je galere a faire afficher une le liste de photo avec leur info tirés d'1 xmlg recupéré un script qui me permet d'afficher une par Conversion en nombre.. ? [ par Lyche ] Bonjour.Je suis devant un problème un peu stupide, mais je ne trouve pas la solution, ni sur l'aide, ni sur les sites.J'ai vu la fonction : "Number(pa duplicateMovieClip, RadioButton selon le fichier XML [ par cefar ] Bonjour,Je tente de développer un QCM avec chargement d'un fichier XML.Le nombre de réponse par question n'est pas fixe.Je fais une boucle pour placer probleme d'import de ma vignette [ par lasardine ] Bonjour et merci a ceux qui voudront bien m'aider. Je me forme à l'action script avec mes petits moyens de free-lance qui n'arrive pas a obtenir d'aid [AS3] Problème avec les classes [ par jytest ] Je débute en actionscript (pour flash CS4). J'ai un problème de compilation avec les classes... "Impossible de charger la classe ou l'interface" pour code obsolète ? [ par ossol ] bonjour, j'ai bricolé un site en flash il y a maintenant 3 ans sans connaissances très poussées... le livre d'or dudit site ne marche plus et je me de combobox [ par karimovski19 ] Bonjour, Après deux jours de recherches fructueuses j'ai réussi à écrire ceci : stop(); info_xml = new XML(); info_xml.ignoreWhite = true; info_xml. [AS3] Control d'images après chargement dynamique [ par Kifriz ] Bonjour ! J'ai fait un paquet de recherches sur ce sujet abordé et ré-abordé, sans toutefois trouver la solution à mon problème. Je charge des image


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales