Connexion à des sources externes > Echange de variables avec une source distante > Vérification des données chargées |
Vérification des données chargées
Chaque action ou méthode qui charge des données dans une animation (sauf XMLSocket.send) est asynchrone : les résultats de l'action sont renvoyés à un moment indéterminé.
Avant de pouvoir utiliser les données chargées dans une animation, vous devez d'abord vérifier si elles ont bien été chargées. Par exemple, vous ne pouvez pas charger des variables et en manipuler les valeurs dans le même script. Dans le script suivant, vous ne pouvez pas utiliser la variable dernièreImageConsultée tant que vous n'êtes pas certain que la variable a été chargée depuis le fichier mesDonnées.txt :
loadVariables("mesDonnées.txt", 0);
gotoAndPlay(dernièreImageConsultée);
Chaque action et méthode possède une technique spécifique que vous pouvez utiliser pour vérifier les données qui ont été chargées. Si vous utilisez l'action loadVariables ou loadMovie, vous pouvez charger les informations dans un clip cible et utiliser l'événement data de l'action onClipEvent pour exécuter un script. Si vous utilisez l'action loadVariables pour charger les données, l'action onClipEvent(data) est exécutée une fois la dernière variable chargée. Si vous utilisez l'action loadMovie pour charger les données, l'action onClipEvent(data) est exécutée chaque fois qu'une partie de l'animation est transmise à Flash Player.
Par exemple, l'action de bouton suivante charge les variables depuis le fichier mesDonnées.txt dans le clip cibleChargeMC :
on (release) {
loadVariables("mesDonnées.txt", _root.cibleChargeMC);
}
Une action affectée à l'occurrence cibleChargeMC utilise la variable dernièreImageConsultée, qui est chargée depuis le fichier mesDonnées.txt. L'action suivante n'est exécutée qu'une fois toutes les variables, y compris dernièreImageConsultée, chargées :
onClipEvent(data) {
goToAndPlay(dernièreImageConsultée);
}
Si vous utilisez les méthodes XML.load et XMLSocket.connect, vous pouvez définir un gestionnaire qui traitera les données à leur arrivée. Ce gestionnaire est une propriété de l'objet XML ou XMLSocket auquel vous affectez une fonction que vous avez définie. Les gestionnaires sont appelés automatiquement lorsque les données sont reçues. Pour l'objet XML, utilisez XML.onLoad. Pour l'objet XMLSocket, utilisez XMLSocket.onConnect.
Pour plus d'informations, consultez Utilisation de l'objet XML et Utilisation de l'objet XMLSocket.