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
|