TUTORIELS 
Récupérer le contenu d'un fichier texte en Flash

Page 1 | 2 | 3

Rendre Flash dynamique en intégrant des variables chargées depuis un fichier texte externe.
 (3 octobre 2002)
 

Avec Flash MX
Ceux qui peuvent s'autoriser à réaliser des projets à l'aide de Flash MX voient leur tâche grandement évoluer, par l'apport de l'objet LoadVars() et du composant ScrollBar...

L'utilisation de LoadVars() permet de stocket les valeurs contenues dans un fichier texte (ou une base de données) dans un objet programmatoire plutôt que dans un clip (avec loadVariables()) ou un niveau (avec loadVariablesNum()). Il permet aussi d'obtenir des informations sur des erreurs et des indications de progression, ainsi que de lire des données en flux continu pendant le téléchargement.
Sur la base que nous avons créée, entrez le code suivant:

(première image-clé du calque "scripts")
// définition de "txt" en tant qu'objet LoadVars.
txt = new LoadVars();

// chargement du fichier texte.
txt.load("article.txt");

//fonction lancée une fois le fichier chargé.
txt.onLoad = function(ok) {
  if (ok) {
    // assignation de chaque valeur du fichier texte
    // à un champ de l'animation.
    source.text = this.source;
    urlSource.text = this.urlSource;
    titre.text = this.titre;
    urlTitre.text = this.urlTitre;
    jour.text = this.jour;
    leTexte.text = this.texte;
  } else {
    // message d'erreur si le fichier n'a pas été chargé.
    leTexte.text = "Erreur: le fichier n'a pas été chargé";
  }
};

Comme vous pouvez le voir, l'utilisation de l'objet LoadVars() est globalement plus contraignante que loadVariablesNum() (notamment, le fait de devoir assigner les valeurs du fichier texte directement aux champs textes, et non à leurs variables), mais permet un contrôle plus sûr du chargement des données, et est autrement plus propre.

Par contre, les développeurs Flash MX voient leur vie facilitée par l'apparition des Composants. Ce sont des clips aux paramètres définis, chacun ayant ses propres méthodes et fonctions. Le but premier des composants est de "standardiser" les interfaces graphiques de Flash: face au chaos des interfaces graphiques plus ou moins utilisables, Macromedia fourni ces éléments standards, qui se révèlent très puissants.
Le composant qui nous intéresse ici est ScrollBar. Son utilisation de base est extrêmement simple: faites apparaître le fenêtre des composants (ctrl-K ou pomme-K), et faites glisser le composant ScrollBar sur le champ "texte", en le positionnant vers la droite. Automatiquement, le composant s'adapte à la taille du champ. Vous pouvez constater en lançant l'animation (ctrl+Entrée) que la barre de défilement prend effectivement le contenu du champ en compte...

Vous pouvez bien sûr utiliser ScrollBar avec loadVariables() plutôt que LoadVars(), mais il vous faudra mettre en place une vérification de chargement, car sans cela ScrollBar se lancera avant même que le texte entier n'ait été complètement chargé, et ne prendre donc pas en compte le défilement. Un moyen de vérifier que tout le fichier est chargé est d'ajouter une valeur en toute fin de votre fichier texte (par exemple, &EOF=true), et de créer une boucle vérifiant sans cesse si cette variable existe, auquel cas le reste de l'animation peut être lancée... Attention à bien assigner les valeurs du fichier textes directement aux champs textes, car ScrollBar ne fonctionne pas si on passe par les variables de textes (qui datent de Flash 4 et 5, où les champs textes n'étaient pas des objets).


Voilà donc un premier aperçu d'un Flash "dynamique". Vous trouverez nos fichiers sources ici. Lors de notre prochaine étape, nous commenceront à associer Flash avec PHP, puis à un système PHP/MySQL.

Page 1 | 2 | 3

 
[ Xavier Borderie JDNet
 
Accueil | Haut de page