Documentation Flash CS3 |
|||
| Programmation avec ActionScript 3.0 > Utilisation des clips > Chargement d'un fichier SWF externe | |||
En ActionScript 3.0, les fichiers SWF sont chargés avec la classe Loader. Pour charger un fichier SWF externe, vous devez définir quatre étapes en ActionScript :
load() de l'objet Loader en lui passant en paramètre l'instance de l'objet URLRequest.addChild() pour un conteneur d'objet d'affichage (par exemple le scénario principal d'un document Flash) afin d'ajouter l'instance de Loader à la liste d'affichageLe code final se présente ainsi :
var request:URLRequest = new URLRequest("http://www.[yourdomain].com/externalSwf.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
Le même code peut être utilisé pour charger un fichier image externe (image JPEG, GIF ou PNG) en spécifiant l'adresse URL de ce fichier à la place de celle d'un fichier SWF. Contrairement à un fichier image, un fichier SWF peut contenir du code ActionScript. Ainsi, bien que le processus de chargement d'un fichier SWF soit identique à celui d'une image, le fichier SWF à l'origine du chargement et le fichier SWF chargé doivent se trouver dans le même sandbox de sécurité si vous souhaitez utiliser ActionScript pour communiquer avec le fichier SWF externe. En outre, si ce fichier externe contient des classes qui partagent le même espace de nom que les classes du fichier SWF qui le charge, il peut s'avérer nécessaire de créer un nouveau domaine d'application pour le fichier chargé afin d'éviter d'éventuels conflits d'espace de nom. Pour plus d'informations sur la sécurité et le domaine d'application, reportez-vous aux sections Utilisation de la classe ApplicationDomain et Chargement de fichiers SWF et d'images.
Une fois que le fichier SWF externe est chargé, il devient accessible via la propriété Loader.content. Si ce fichier est publié en ActionScript 3.0, il s'agira soit d'un clip, soit d'un sprite, selon la classe qu'il étend.
Si un fichier SWF externe a été publié dans une version antérieure d'ActionScript, d'importantes restrictions doivent être prises en compte. Contrairement à un fichier SWF ActionScript 3.0 qui s'exécute dans AVM2 (ActionScript Virtual Machine 2), un fichier SWF publié en ActionScript 1.0 ou 2.0 s'exécute dans AVM1 (ActionScript Virtual Machine 1).
Lorsque le chargement d'un fichier SWF AVM1 réussit, l'objet chargé (la propriété Loader.content) sera un objet AVM1Movie. Une instance d'AVM1Movie n'est pas identique à une instance de MovieClip. C'est un objet d'affichage qui, contrairement à un clip, ne comporte pas de méthodes ni de propriétés liées au scénario. Le fichier SWF AVM2 parent ne pourra pas accéder à ses propriétés, méthodes ou objets.
D'autres restrictions s'appliquent à un fichier SWF AVM1 chargé par un fichier SWF AVM2 : Pour plus d'informations, reportez-vous à la description de la classe AVM1Movie dans la Référence du langage et des composants ActionScript 3.0.
Flash CS3
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000216.html