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 :

Galerie d'image avec XML


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    WEB
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : WEB
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Par défaut Galerie d'image avec XML
    Bonjour,

    Voilà, dans le cadre d'un cours de flash, nous devons réaliser une petit site. Dans ce site, je souhaite intégrer une galerie d'images à l'aide d'XML. J'ai donc fait un fichier XML nommé "galerie.xml" dont voici le contenu:

    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
     
    <images>
    	<image id="1">
    		<adr>img/ralph1.jpg</adr>
    		<description>1</description>
    	</image>
    	<image id="2">
    		<adr>img/ralph2.jpg</adr>
    		<description>2</description>
    	</image>
    	<image id="3">
    		<adr>img/ralph3.jpg</adr>
    		<description>3</description>
    	</image>
    	<image id="4">
    		<adr>img/ralph4.jpg</adr>
    		<description>4</description>
    	</image>
    	<image id="5">
    		<adr>img/ralph5.jpg</adr>
    		<description>5</description>
    	</image>
    		<image id="6">
    		<adr>img/ralph6.jpg</adr>
    		<description>6</description>
    	</image>
    	<image id="7">
    		<adr>img/ralph7.jpg</adr>
    		<description>7</description>
    	</image>
    	<image id="8">
    		<adr>img/ralph8.jpg</adr>
    		<description>8</description>
    	</image>
    	<image id="9">
    		<adr>img/ralph9.jpg</adr>
    		<description>9</description>
    	</image>
    	<image id="10">
    		<adr>img/ralph10.jpg</adr>
    		<description>10</description>
    	</image>
    </images>

    Ensuite, dans flash, voici l'actionscript:

    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
     
    var chargeur:Loader = new Loader();
    var adresseImage:URLRequest = new URLRequest("img/ralph1.jpg");
    var arboXML:XML;
       var adresseFichierXML:URLRequest = new URLRequest("galerie.xml");
       var conteneurXML:URLLoader = new URLLoader();
       function chargementXMLTermine(evt:Event) {
    				arboXML = new XML(conteneurXML.data);
    				adresseImage = new URLRequest(arboXML.image.(@id==num).adr);
    				chargeur.load(adresseImage);
    				chargeur.x = 260;
    				chargeur.y = 248;
    				addChild(chargeur);
     
       }
    conteneurXML.addEventListener(Event.COMPLETE,chargementXMLTermine);
    conteneurXML.load(adresseFichierXML);
     
     
    imgprecedent.addEventListener(MouseEvent.MOUSE_DOWN,imageprecedente);
    imgsuivant.addEventListener(MouseEvent.MOUSE_DOWN,imagesuivante);
    function imagesuivante(evt:Event) {
    	 if (num<10) {
    		num++;
    		conteneurXML.addEventListener(Event.COMPLETE,chargementXMLTermine);
    		conteneurXML.load(adresseFichierXML);
    	}
    }
    function imageprecedente(evt:Event) {
    	if (num>1) 
    	{
    		num--;
    		conteneurXML.addEventListener(Event.COMPLETE,chargementXMLTermine);
    		conteneurXML.load(adresseFichierXML);
    	}
    }
    Enfin, à côté de tout ceci, j'ai mis le dossier qui contient les images en veillant a bien respecter les chemins...

    Mon problème est le suivant, lorsque je lance la conversion en SWF (ctrl+enter) pour vérifier ce que cela donne, il me dit que la propriété "num" n'est pas définie or comme vous pouvez le constater, je le précise plus haut là où je vais chercher l'adresse de mon image, à savoir @id==num.

    Quelqu'un aurait-il une idée de ce que je fais comme erreur?

    Merci d'avance pour vos réponses.

  2. #2
    Membre averti
    Homme Profil pro
    WEB
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : WEB
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Par défaut
    Bonjour,

    La propriété "num" doit être déclarée comme ceci.. (en rouge dans le code)
    Cela fonctionne. Sujet résolu

    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
    
    var num:int = 1;
    
    var chargeur:Loader = new Loader();
    var adresseImage:URLRequest = new URLRequest("");
    var arboXML:XML;
    var adresseFichierXML:URLRequest = new URLRequest("galerie.xml");
    var conteneurXML:URLLoader = new URLLoader();
    
       function chargementXMLTermine(evt:Event) {
    				arboXML = new XML(conteneurXML.data);
    				adresseImage = new URLRequest(arboXML.image.(@id==num).adr);
    				chargeur.load(adresseImage);
    				chargeur.x = 151;
    				chargeur.y = 301;
    				addChild(chargeur);
    				
       }
    conteneurXML.addEventListener(Event.COMPLETE,chargementXMLTermine);
    conteneurXML.load(adresseFichierXML);
    
    imgprecedente.addEventListener(MouseEvent.MOUSE_DOWN,imageprecedente);
    imgsuivante.addEventListener(MouseEvent.MOUSE_DOWN,imagesuivante);
    function imagesuivante(evt:Event) {
    	 if (num<10) {
    		num++;
    		conteneurXML.addEventListener(Event.COMPLETE,chargementXMLTermine);
    		conteneurXML.load(adresseFichierXML);
    	}
    }
    function imageprecedente(evt:Event) {
    	if (num>1) 
    	{
    		num--;
    		conteneurXML.addEventListener(Event.COMPLETE,chargementXMLTermine);
    		conteneurXML.load(adresseFichierXML);
    	}
    }

  3. #3
    Membre averti
    Homme Profil pro
    WEB
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : WEB
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Par défaut
    Au passage, pour ceux que cela intéresserait. A tout ce qui précède, vous ajoutez 2 boutons (en respectant les noms d’occurrence de mon code) et vous avez tout ce qu'il faut pour une petite galerie en flash...

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

Discussions similaires

  1. JQuery Galerie d'image avec légende
    Par Beni-Martouff dans le forum jQuery
    Réponses: 5
    Dernier message: 04/05/2010, 12h12
  2. galerie d'images avec zoom
    Par akn005 dans le forum Débuter
    Réponses: 1
    Dernier message: 24/05/2009, 23h03
  3. [AJAX] Construction d'une galerie d'images avec Ajax
    Par Pmko01 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/01/2008, 16h32
  4. Pb image avec xml
    Par lolo_bob2 dans le forum XML/XSL et SOAP
    Réponses: 23
    Dernier message: 02/03/2006, 22h32

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