Chargement de données externes en actionscript
Si envoyer des requêtes SQL ou écrire dans un fichier à partir d'une animation flash simple n'est pas possible, on peut en revanche lire un fichier en actionscript. Nous pouvons ainsi récupérer des données, souvent au format XML, voire une chaine de requête.
Chargement d'un fichier externe
Pour charger un fichier externe, on utilise les classes URLLoader et URLRequest. C'est un peu le même processus que le chargement d'images externes (avec Loader et URLRequest). On procède comme suit :
import flash.events.*;
import flash.net.*;
// Création des loaders et ajout des écouteurs
var oLoader:URLLoader = new URLLoader ();
oLoader.addEventListener(Event.COMPLETE, loadedHandler);
oLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
// Création de la requête http
var oRequest:URLRequest = new URLRequest ("exemple.xml");
//chargement du fichier
oLoader.load(oRequest);
/**
* Le chargement du fichier est terminé
* @param evt
*/
function loadedHandler (evt:Event):void
{
var contenu:String = evt.target.data;
}
/**
* Erreur de chargement du fichier
* @param evt
*/
function errorHandler(evt:IOErrorEvent):void
{
trace(evt);
}
Récupération des données
Les données contenues dans le fichier peuvent être récupérées lorsque le chargement est terminé, c'est à dire dans la fonction loadedHandler() :
function loadedHandler (evt:Event):void
{
var contenu:String = evt.target.data;
}La variable contenu est donc une chaine qui va contenir le texte du fichier : s'il s'agit d'un fichier XML, on peut créer un objet XML ACtionscript à partir de cette variable, tout simplement de cette manière :
function loadedHandler (evt:Event):void
{
var contenu:String = evt.target.data;
var xml:XML = new XML(contenu);
}Mode de réception des fichiers chargés
Actionscript permet de définir un mode de réception des fichiers chargés avec URLLoader, 3 modes sont définis :
- binary , URLLoaderDataFormat.BINARY : Indique que les données téléchargées doivent être reçues en tant que données binaires brutes
- text, URLLoaderDataFormat.TEXT : Indique que les données téléchargées doivent être reçues au format texte
- variables, URLLoaderDataFormat.VARIABLES : Indique que les données téléchargées doivent être reçues en tant que variables de code URL
On déclare le mode de réception après la création de l'objet URLLoader :
// Création des loaders et ajout des écouteurs var oLoader:URLLoader = new URLLoader (); oLoader.dataFormat = URLLoaderDataFormat.TEXT;
On utilise text la plupart du temps pour charger des données XML ou texte, il arrive aussi de vouloir récupérer des données au format VARIABLES, ce sont des fichiers contenant un texte de ce type :
variable1=hello&variable2=world
On récupérait souvent des fichiers de ce type en Actionscript 2.












Commentaires