begin process at 2012 05 27 13:57:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

XML

 > 

Lire xml en boucle


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

Lire xml en boucle

dimanche 18 février 2007 à 15:46:31 | Lire xml en boucle

dymytry78

Bonjour, ca doit pas bien etre compliqué et pourtant j' y arrive pas . Voila j'ai recuperé un code pour lire dans mon animation flash un texte qui s'affiche ligne apres ligne a partir d'un fichier xml, le probleme c'est apres avoir affiché la derniere ligne du fichier xml l'animation se termine sur "undefined". Moi je voudrais que l'anim recommence au debut automatiquement comment faire?

le code que j'utilise:
var replique:Number = 0;
var dialogues:XML = new XML();
dialogues.load("soustitreslionel_2.xml");
dialogues.ignoreWhite = true;

sousTitrer = function () {
 if (b = dialogues.firstChild.childNodes[replique]);
  chaineCommentaire = new String(a.text);
  replique++;
 };
lancer = setInterval(sousTitrer, 2000);

Merci

Dymytry

mardi 20 février 2007 à 20:56:17 | Re : Lire xml en boucle

Darkrats

var replique:Number = 0;
var dialogues:XML = new XML();
dialogues.load("soustitreslionel_2.xml");
dialogues.ignoreWhite = true;

sousTitrer = function () {
 if (b
= = dialogues.firstChild.childNodes[replique]){
  chaineCommentaire = new String(a.text);
  replique++;
 };
lancer = setInterval(sousTitrer, 2000);

Avant toute chose, il te manquait un = pour ta condition et remplacer le point virgule par l'accollade pour ouvrir le bloc de la condition ...
Pour savoir si tu te trouves à la fin du xml, tu peux récupérer la longueur du xml : dialogues.firstChild.length
Puis au lieu de mettre :  if (b == dialogues.firstChild.childNodes[replique]){
(dont j'ignore l'origine de B) mais faire ceci :
var longueur_xml    :Number    = dialogues.firstChild.length;
if(replique < longueur_xml){
    action à exécuter
    replique++;
}

( à vérifier, j'écris ça sans flash sous les yeux)


Il vaut mieux créer une variable qui contiendra le nombre de noeuds contenus dans le XML car ça évitera à flash de le recalculer toutes les 2 secondes

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
mercredi 21 février 2007 à 18:52:10 | Re : Lire xml en boucle

dymytry78

Merci Darkrats mais je suis un peu gogol en code actionscripts et j'ys suis aps arrivé. J'ai ajouté le = et } mais il se passait plus rien ideme en remplacant  if (b == dialogues.firstChild.childNodes[replique]){ par ce que tu as proposé....

Des precisions qui sont peut etre utile a resoudre mon probleme: le a c'est le nom du champ texte et le b c'est le nom de la variable qu'il lui est affiliée. Le fichier soustitreslionel_2 fait 10 lignes.

Si quelqu'un peu me dire ou je me plante je suis preneur.

Merci
vendredi 23 février 2007 à 22:45:09 | Re : Lire xml en boucle

Darkrats

En fait, ce que tu dois donc savoir c'est quand ton xml est arrivé à la fin pour recommencer l'affichage depuis le début
Donc :
    1. une variable qui va indiquer à quel noeud on se trouve, appelons là "noeud_courant"
       var noeud_courant :Number = 0;
    2. une variable qui va indiquer combien de noeud possède ton xml
       var noeud_max   :Number   = dialogues.childNodes.length;  // (dialogue étant ton fichier xml correctement chargé)
    3. tu dois dans la fonction que tu lances en boucle, vérifier qu'on ne soit pas arrivé à la fin du xml avant de vouloir écrire le contenu
       function affichage_xml(){
          if(noeud_courant < noeud_max){

                // Le noeud courant n'est pas le dernier
                trace("contenu du noeud numéro " + noeud_courant);
                // Concaténation du noeud courant
                noeud_courant++;
          }else{

                // Le noeud est le dernier
                // On affiche rien mais on remet la valeur zéro au noeud courant pour qu'il puisse de nouveau écrire le contenu du xml depuis le début

               trace("fin du traitement du xml, remise à zéro");
                noeud_courant = 0;
       }
Il est possible que ça ne marche pas ... dans ce cas, utilise des traces pour savoir à quel endroit ça coince, ... par exemple, as-tu bien mes deux traces qui s'affichent au moment voulu ?
De plus, tu peux vérifier via des traces la valeur que prend noeud_courant et noeud_max comme ça tu sauras si ta boucle fonctionne bien.

Maintenant, comme tu me dis n'être pas fort en action script, je te recommenderais vivement de vérifier que ton xml est bien chargé avant de lancer ta fonction d'affichage. Je ne sais pas si tu es au courant qu'un xml ne se charge pas forcément entièrement avant de poursuivre le code ? ( plus d'explication sur ce site : media-box);

Fais quand même attention que ta fonction traîtée en boucle ne fasse pas planter flash par la lourdeur des actions à effectuer

--------- Darkrats ---------
la loi est dure mais c'est la loi
 -------- Infograpix --------
vendredi 21 janvier 2011 à 23:47:15 | Re : Lire xml en boucle

ninja0701

bonjour voici mon code xml qui affiche des image avec animation je désire afficher ce code en boucle répéter toujours les images si quelqu'un peut m'aider .merci


<?xml version='1.0' encoding='UTF-8' ?>
<header_vars>
<graphics_color>FFFFFF</graphics_color>
<animation_loop>no</animation_loop>

<header>
<text_header_h1 x_pos="5" y_pos="55" size="19" letter_spacing="0" text_color="FFFFFF"></text_header_h1>
<text_header_h2 x_pos="10" y_pos="80" size="10" letter_spacing="1.9" text_color="FFFFFF"></text_header_h2>
<image blur="no">images/your_image2.jpg</image>
</header>
<header>
<text_header_h1 x_pos="90" y_pos="65" size="18" letter_spacing="1.5" text_color="FFFFFF"></text_header_h1>
<text_header_h2 x_pos="91" y_pos="85" size="11" letter_spacing="3.2" text_color="FFFFFF"></text_header_h2>
<image>images/your_image3.jpg</image>
</header>
<header>
<text_header_h1 x_pos="10" y_pos="10" size="23" letter_spacing="0" text_color="FFFFFF"></text_header_h1>
<text_header_h2 x_pos="50" y_pos="40" size="14" letter_spacing="5.4" text_color="FFFFFF"></text_header_h2>
<image>images/your_image.jpg</image>
</header>



<music_file loop="no" music_control="no" play_music="no">sounds/music.mp3</music_file>
<play_transition_sound_file>yes</play_transition_sound_file>
<display_preload graphic_color="669ac6">yes</display_preload>
<replay display="yes" x_pos="493" y_pos="135" size="8" letter_spacing="1" bgd_color="FFFFFF" text_color="000000"> REPLAY</replay>
</header_vars>


Cette discussion est classée dans : ligne, lire, xml, dialogues, replique


Répondre à ce message

Sujets en rapport avec ce message

Xml Flash Video [ par dymytry78 ] Bonjour,Alors voila mon pb depuis 1 semaine que je cherche j'ai pas trouve comment faire (je suis pas un pro )A partir de dialogue (ecrit) de 4 person lire le xml de weather.com [ par szambaux ] Bonjour, j'aimerais réaliser incorporer dans mon animation flash la météo, et pour cela j'aimerais lire le xml suivant http://xoap.weather.com/weathe Impossible de lire un fichier XML [ par Lespiaucq ] Je n'arrive pas à lire ce fichier xml jusqu'au bout. http://laurent.lespiaucq.free.fr/MesImages/diaporama.phpje passe par un for (var n = 0; nle probl lire modifier xml [ par actaruss ] Bonjour, J'ai utilisé l'AS2 pour lire des noeuds dans un fichier XML et c'est le bonheur ! J'ai besoin pour un projet de pouvoir Ecrire /Lire/Modifie Problème de saut de ligne à l'import d'un xml [ par geraldinechx ] Bonjour, J'importe dans Flash un xml provenant d'un script php qui récupère des données texte dans une base de données. Tout marche à merveille, à l' lire un xml généré de php dans flash [ par cbastien ] hello,j'arrive à lire le contenu d'un fichier xml dans mon flash, mais je voudrais rendre tout cela encore plus dynamique, notemment en générant le fi Boucle pour lire du XML [ par aurelienlopez ] Bonjour, j'ai un fichier XML qui se présente ainsi :     HJHY           INCIDENT sur A15        <Pert lire le nom d'une balise xml [ par jerrrrrry ] bonjour à tous,je cherche à faire un menu dynamique avec une base xml,precision utile j'utilise cs3 mais souhaiterais une compatibilité flash6 + actio code xml [ par befadtg ] Salut a vousje recherche le code xml qui puisse calculer le nombre de noeuds enfant (childnodes) en une ligne.sachant que mon fichier xml se compose d retour chariot [ par Miss1 ] Bonsoir,je sais qu'il existe des discution sur ce theme mais apres plusieurs recherche je n'est rien trouvé. Je tente donc ma chance.J'ai fait un diap


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 1,264 sec (3)

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