Ce tutoriel suppose des notions sur les langages XML
et ActionScript,
même si le premier n'est pas ici le sujet principal,
et si le code ActionScript est expliqué pas à
pas.
Nous allons
construire un petit fichier XML très simple destiné
à être exploité dans les deux programmes Flash,
et dont voici le code:
(fichier datas.xml)
<?xml version="1.0"
encoding="ISO-8859-1"?>
<sites>
<site
num="01" url="http://www.journaldunet.com">Journal Du Net</site>
<site
num="02" url="http://developpeurs.journaldunet.com">JDNet Développeurs</site>
<site
num="03" url="http://solutions.journaldunet.com">JDNet Solutions</site>
<site
num="04" url="http://www.linternaute.com">L'Internaute</site>
</sites>
Faites en sorte
de sauvegarder le fichier au format Unicode. Si cela n'est pas possible
avec votre éditeur de texte, nous vous donnerons néanmoins
une solution par afficher correctement les caractères spéciaux
(accents, apostrophes).
Notre fichier
XML créé, il ne nous reste plus qu'à l'exploiter.
Sous Flash MX, créez un nouveau document et posez sur la
scène, à l'aide de l'outil Texte, un champ texte dynamique
et multiligne (pour le passer en dynamique, utilisez le menu déroulant
dans le panneau Propriétés). Nommez-le, ainsi que
son calque, texte. Créez
un nouveau calque actions, et sur
la première (et seule) image-clé, insérez le
code suivant:
(image-clé 1 du calque actions)
donnees_xml = new
XML();
donnees_xml.onLoad = function(ok) {
if (ok) {
_root.texte.text = this.toString();
}
}
donnees_xml.load('datas.xml');
Lancez l'animation,
et votre fichier XML devrait s'afficher dans le champ texte. Pour
le moment, on ne se soucie pas des problèmes de caractères
spéciaux.
Que vient-on de faire ? Nous avons utiliser un objet apparu avec
Flash 5 et qui a été sérieusement optimisé
en terme de vitesse pour Flash MX: l'objet XML().
C'est lui et ses méthodes qui vont permettre de manipuler
des documents XML (et ses différents "vocabulaires",
dont SVG
notamment): lecture, modification, création...
Pour se servir de cet objet, il faut bien sûr tout d'abord
en créer une occurence grâce au constructeur new.
Nous nommons notre occurrence donnees_xml,
le _xml final nous permettant d'afficher
les méthodes de l'objet lorsque nous tapons "donnees_xml.",
ce qui se révèle vite utile...
Tout comme pour l'objet LoadVars()
(que nous avons vu dans un
précédent article), nous utilisons la méthode
load() pour chargement d'un document
externe. Cette méthode ne prend comme argument que l'URL
du fichier XML. Pour l'heure, notre fichier XML se trouve au même
niveau (même répertoire, même domaine) que notre
fichier Flash; nous verrons plus tard comment appeler un fichier
XML en provenance d'un autre domaine.
Mais avant de charger notre fichier, nous devons préparer
son arrivée, via la méthode onLoad,
qui comme en JavaScript ne se déclenche que lorsque l'objet
en question a terminé de charger un document. Nous déclarons
cet événement comme étant une fonction, dont
l'argument (ok) contiendra le résultat
de l'événement (true
si c'est un succès, false
dans le cas contraire). Ainsi, quand notre fichier XML a été
entièrement chargé (donc, quand l'événement
onLoad est vrai), on envoie le contenu
de ce fichier vers notre champ texte sous la forme d'une chaîne,
à l'aide de la méthode XML toString();,
qui convertit un noeud XML et tout ses descendants en une chaîne.
Vous pouvez voir notre résultat ici.
Après cette familiarisation aux méthodes élémentaires,
nous allons construire un menu dynamique à partir de notre
fichier XML...
Page 1 | 2
|