Lire et afficher un fichier texte en actionscript2 avec loadVariablesNum()

24 novembre 2007 par dans Action script

Ce qu’on veut faire : charger les variables d’une source de données externe dans notre animation flash.
2 méthodes :

// charger la variable contenue dans le fichier donnees.txt dans clip_mc (get ou post si on charge la variable à partir d’un fichier php)
loadVariables ("URL/donnees.txt", "clip_mc", "GET")
 
// charger la variable contenue dans le fichier donnees.txt à un level particulier (get ou post si on charge la variable à partir d’un fichier php)
loadVariablesNum ("URL/donnees.txt", niveau, "methodeGETouPOST")
 

Pour illustrer tout ça on va se faire un petit répertoire téléphonique.

[SWF]/test/loadVariables/chargementTexteAvecLoadVariables.swf, 310, 207[/SWF]

Créons d’abord le fichier texte.

Sa structure est un couple variable/valeur : var=contenu&var2=contenu2 ce qui, en fait, signifie variable_nom = le nom & variable_telephone = le téléphone.
Ce qui nous donne donc :

nom1=Anais&telephone1=0122334455&nom2=Akiko&telephone2=0699887766&nom3=Atsuko&telephone3=0122334455&nom4=Anne&telephone4=0699887766&nom5=Carole&telephone5=0122334455&nom6=Cathy&telephone6=0699887766&nom7=Chloé&telephone7=0699887766&nom8=Chizu&telephone8=0699887766&nom9=Clémentine&telephone9=0699887766&nom10=Daphnée&telephone10=0699887766&nom11=Elisa&telephone11=0699887766&nom12=Emma&telephone12=0699887766&nom13=Eva&telephone13=0699887766&nom14=Fuyu&telephone14=0699887766&nom15=Gaelle&telephone15=0699887766&nom16=Hakiko&telephone16=0699887766&nom17=Héloise&telephone17=0699887766&nom18=Hitomi&telephone18=0699887766&nom19=Iris&telephone19=0699887766&nom20=Julia&telephone20=0699887766&nom21=Kathy&telephone21=0699887766&nom22=Laly&telephone22=0699887766&nom23=Laura&telephone23=0699887766&nom24=Laure&telephone24=0699887766&nom25=Léa&telephone25=0699887766&nom26=Lila&telephone26=0699887766&nom27=Lise&telephone27=0699887766&nom28=Lola&telephone28=0699887766&nom29=Lucie&telephone29=0699887766&nom30=Mael&telephone30=0699887766&nom31=Maélice&telephone31=0699887766&nom32=Mia&telephone32=0699887766&nom33=Myriam&telephone33=0699887766&nom34=Nina&telephone34=0699887766&nom35=Nora&telephone35=0699887766&nom36=Paola&telephone36=0699887766&nom37=Pauline&telephone37=0699887766&nom38=Perrine&telephone38=0699887766&nom39=Rebecca&telephone39=0699887766&nom40=Rose&telephone40=0697877111&nom41=Salome&telephone41=0699887766&nom42=Shanez&telephone42=0699887766&nom43=Sibyl&telephone43=0699887766&nom44=Sophia&telephone44=0699887766&nom45=Sonia&telephone45=0699887766&nom46=Stella&telephone46=0699887766&nom47=Tess&telephone47=0699887766&nom48=Tina&telephone48=0699887766&nom49=Yaelle&telephone49=0699887766&nom50=Yuriko&telephone50=0699887766&nombre=50&fin=ok&

 

Ben oui, je ne connais que des demoiselles moi, lol.

Enregistrer le fichier sous le nom repertoire.tx au format utf8. Très important pas de saut de ligne dans votre fichier txt.

Le fichier flash

Créez un nouveau flash avec un champ texte avec comme nom de variable

    laListe

et nom d’occurence

    laListe_txt

.
Ensuite créez 2 étiquettes comme sur la capture d’écran. Première étiquette « chargement » sur l’image clé 2, seconde « affichage » sur l’image clé 10.
Entre chargement et affichage insérez votre animation d’attente.

Voir l’interface en image.

LoadVariablesNum()

Dans la première image clé insérez le code suivant pour charger le fichier repertoire.txt avec loadVariablesNum

 //le fichier repertoire.txtsera chargé dans le niveau 0 de l’animation
loadVariablesNum("test/loadVariables/repertoire.txt",0);

 

Nous chargeons d’abord le contenu du fichier grâce à la boucle for

syntaxe de la boucle :
for (initialisation valeur de départ de la boucle; valeur d arrêt de la boucle; incrémentation ou décrémentation de la boucle); {
instructions;
}
 
if(this.fin=="ok"){
gotoAndStop("affichage");
        } else {
                gotoAndPlay ("chargement");
                }
 

Nous affectons enfin les valeurs des variables du fichier texte au champs texte de l’animation flash.

// affectation des variables
laListe = "";
for (i=1; i<=this.nombre; i++) {
        laListe += this["nom"+i]+"\t"+_root["telephone"+i]+newline;
        }
 

PS : J’ai ajouté le composant scrollbar pour se déplacer dans le fichier

Voili voilou +++

A bientôt pour la même chose à l’aide d’une base mysql et php : on utilisera donc loadVariablesNum (« URL/donnees.php », niveau, « methodeGETouPOST »)

Télécharger le fla

Commentaires (5)

 

  1. keyz dit :

    Comment sont initialisées les variables fin et nombre?
    Elles sont des variables de la racine (_root),
    et sont accédées par le mot clé this (faisant référence à la racine _root)
    nombre doit être égal au nombre de correspondantes du fichier répertoire.txt
    fin est une variable booléenne qui prend la valeur « ok »
    lorsque le chargement est terminé
    Une instruction conditionnelle doit interrompre le chargement ?

    • keyz dit :

      (404 not found le fla ne se télécharge pas ni en enregistrer sous)
      merci

      • Niums dit :

        Keyz : il y avait une petite erreur de chemin vers le fla. Tu peux maintenant le télécharger.

        nombre doit être égal au nombre de correspondantes du fichier répertoire.txt

        >> OUI

        fin est une variable booléenne qui prend la valeur « ok » lorsque le chargement est terminé Une instruction conditionnelle doit interrompre le chargement ?

        if(this.fin=="ok")
        {
           gotoAndStop("affichage"); // pour afficher ce que nous avons loader
        } else {
           gotoAndPlay ("chargement");
        }
         

Laisser un commentaire