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

Flash Discussion :

[FLASH MX2004] Chargement d'un XML en particulier des images


Sujet :

Flash

  1. #1
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut [FLASH MX2004] Chargement d'un XML en particulier des images
    Salut

    Je suis en train d'intégrer une rubrique news dans un site partiellement développé en Flash, partiellement en PHP avec MySQL. Je ne suis habituellement pas chargé de ce qui touche à Flash mais, en l'occurence, nous avons besoin d'ActionScript (donc de code), ce qui n'est pas le domaine de prédilection de ma collègue graphiste (qui est par ailleurs très douée dans ce qu'elle fait).

    Je ne suis pas familier de Flash, alors ce que j'ai fait vaut ce que ça vaut...

    Je suis parvenu à charger un fichier XML dans un MovieClip, à le faire scroller et tout mais j'ai un dernier souci : le fichier XML contient des URLs d'images, or il semble qu'elles n'aparaissent pas toutes. Pas systématiquement, du moins. J'imagine qu'il y a une histoire d'asynchrone, seulement je ne sais pas y remédier...

    Ouaip, en fait ça fonctionnait à peu près l'autre jour mais plus du tout, maintenant :/
    Du moins, le texte s'affiche et se décale correctement, alors que les images n'aparaissent plus du tout.

    Bref, j'imagine que je suis à peu près dans la bonne direction mais j'aurais besoin d'un coup de pouce final svp.

    Voici mon 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
    var external_xml:XML = new XML();
    external_xml.load("announcement.xml");
    external_xml.ignoreWhite = true;
     
    external_xml.onLoad = function(success:Boolean){
    	if(success){
    		var firstXMLNode	= external_xml.firstChild.childNodes[0];
    		var firstNews		= eval("holder_mc.mcNews");
    		var firstImageInstanceName	= eval("image");
     
    		firstNews.txtTitle.text		= firstXMLNode.attributes.title;
    		firstNews.txtDate.text		= firstXMLNode.attributes.date;
    		firstNews.txtContents.text	= firstXMLNode.attributes.contents;
    		firstImage = firstNews.createEmptyMovieClip(firstImageInstanceName, firstNews.getNextHighestDepth());
    		firstImage.loadMovie(firstXMLNode.attributes.image_url);
    		firstImage._alpha = 30;
    		firstImage._y = firstNews._y;
     
    		for(i=1; i<external_xml.firstChild.childNodes.length; ++i){
    			var currentXMLNode	= external_xml.firstChild.childNodes[i];
    			var currentNews		= firstNews.duplicateMovieClip(firstNews+i, i);
    			var currentImageInstanceName = eval(firstImage+i);
     
    			currentNews._x = firstNews._x;
    			currentNews._y = firstNews._y + (i * firstNews._height);
    			currentNews.txtTitle.text		= currentXMLNode.attributes.title;
    			currentNews.txtDate.text		= currentXMLNode.attributes.date;
    			currentNews.txtContents.text	= currentXMLNode.attributes.contents;
    			currentImage = currentNews.createEmptyMovieClip(currentImageInstanceName, currentNews.getNextHighestDepth());
    			currentImage.loadMovie(currentXMLNode.attributes.image_url);
    			currentImage._alpha = 30;
    			currentImage._y = currentNews._y;
    		}
    	}
    };
    J'utilise une instance de MovieClip nommée "holder_mc" pour contenir mes news, chacune d'elles étant une instance copiée de celle que j'ai placée sur la scène et nommée "mcNews".
    Je me retrouve donc avec "holder_mc" qui contient "mcNews", "mcNews1", "mcNews2", etc.

    Pour la démonstration, j'utilise un XML (announcement.xml) de ce format (il y a davantage d'éléments dans le mien mais je ne veux pas surcharger ici) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <announcements_list>
    	<announcement file="announcement.php?announcement=11" id="11" title="Title 7" contact_name="Kirkis" contact_email="kirkis@truc.com" date="19-01-2006" image_url="http://<a href="http://www.developpez.net/forums/templates/subSilver/images/lang_french/post.gif"" target="_blank">http://www.developpez.net/forums/tem...ench/post.gif"</a> contents="Noticia 7"></announcement>
    	<announcement file="announcement.php?announcement=10" id="10" title="Title 6" contact_name="Kirkis" contact_email="kirkis@truc.com" date="19-01-2006" image_url="http://<a href="http://www.developpez.net/forums/templates/subSilver/images/lang_french/quote.gif"" target="_blank">http://www.developpez.net/forums/tem...nch/quote.gif"</a> contents="Noticia 6"></announcement>
    </announcements_list>
    Je vous remercie de votre attention

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    tout d'abord FLash MX, c'est sûr ? Ta 1ere ligne me ferait plutôt penser à du MX2004 ou FLash 8. (Typage fort :XML)

    Sinon, est-ce que tu aurais pas changer les images entre le moment ou cela marchait et maintenant que cela ne marche plus.
    Il me semble que flash ne charge pas les gif. Peux-tu tester avec des jpg ?

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Hmmm, j'avoue ne pas être parfaitement au point concernant les différences entre MX et MX 2004... Après vérification, c'est bien MX 2004, sorry pour la confusion.

    Je suis déjà parvenu (lors de l'un des essais) à charger ce type d'image GIF (bouton phpBB) dans cette même animation. Ainsi, je sais que c'est dans le domaine du possible (le contraire m'aurait frustré).
    De toute manière, c'est bien avec des JPG d'une taille qui correspond à ce qui sera utilisé dans les news (disons 200*200) que j'ai remarqué le problème.

    La question que je me pose est "pourquoi" cela fonctionne-t-il dans un cas et pas dans l'autre ?
    Et surtout, comment faire pour demander à Flash de bien me charger toutes les images, pas seulement les deux premières ?

Discussions similaires

  1. [FLASH MX2004] Chargement d'une animation swf
    Par bootx dans le forum Flash
    Réponses: 2
    Dernier message: 20/10/2005, 14h16
  2. Réponses: 2
    Dernier message: 02/09/2005, 20h47
  3. [FLASH MX2004] Chargement dynamique de composant
    Par stailer dans le forum Flash
    Réponses: 4
    Dernier message: 08/07/2005, 00h40
  4. Réponses: 8
    Dernier message: 14/04/2005, 19h06
  5. [FLASH MX2004] Créer un flux xml
    Par j0hnmerrick dans le forum Flash
    Réponses: 3
    Dernier message: 23/02/2005, 12h02

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