Le dernier élément fonctionnel à traiter est l’interface utilisateur de l’explorateur. Dans cet exemple, le chemin d’accès à la bibliothèque d’exécution est codé en dur dans la variable
ASSETS_PATH
. Vous pourriez également utiliser la classe FileReference, par exemple pour créer une interface qui recherche un fichier SWF particulier sur le disque dur.
Une fois que la bibliothèque d’exécution est chargée, Flash Player appelle la méthode
runtimeAssetsLoadComplete()
.
private function runtimeAssetsLoadComplete(event:Event):void
{
var rl:* = event.target.content;
var assetList:Array = rl.getAssets();
populateDropdown(assetList);
stage.frameRate = 60;
}
Dans cette méthode, la variable rl représente le fichier SWF chargé. Le code appelle la méthode
getAssets()
du fichier SWF chargé, obtient la liste des éléments disponibles et remplit un composant ComboBox avec cette liste en appelant la méthode
populateDropDown()
. Cette méthode enregistre le chemin de classe complet de chaque élément. Si l’utilisateur clique sur le bouton Ajouter, l’interface déclenche la méthode
addAsset()
:
private function addAsset():void
{
var className:String = assetNameCbo.selectedItem.data;
var AssetClass:Class = getDefinitionByName(className) as Class;
var mc:MovieClip = new AssetClass();
...
}
qui obtient le chemin de classe de l’élément actuellement sélectionné dans la ComboBox (
assetNameCbo.selectedItem.data
), et utilise la fonction
getDefinitionByName()
(du package flash.utils) pour obtenir une référence à la classe de l’élément afin de créer une nouvelle occurrence de celui-ci.