L'ultima parte della funzione consiste nell'interfaccia utente per l'applicazione di esplorazione delle risorse. In questo esempio, il percorso della libreria di runtime è codificato nella variabile
ASSETS_PATH
. In alternativa, potreste utilizzare la classe FileReference: ad esempio, per creare un'interfaccia che permetta di individuare un determinato file SWF sul disco rigido.
Quando la libreria di runtime è stata caricata correttamente, viene chiamato il metodo
runtimeAssetsLoadComplete()
.
private function runtimeAssetsLoadComplete(event:Event):void
{
var rl:* = event.target.content;
var assetList:Array = rl.getAssets();
populateDropdown(assetList);
stage.frameRate = 60;
}
In questo metodo, la variabile rl rappresenta il file SWF caricato. Il codice chiama il metodo
getAssets()
del file SWF caricato e ottiene l'elenco delle risorse disponibili, che utilizza per compilare un componente ComboBox con un elenco di risorse disponibili chiamando il metodo
populateDropDown()
. A propria volta, questo metodo memorizza il percorso di classe completo di ogni risorsa. Se fate clic sul pulsante Aggiungi dell'interfaccia utente, viene attivato il metodo
addAsset()
:
private function addAsset():void
{
var className:String = assetNameCbo.selectedItem.data;
var AssetClass:Class = getDefinitionByName(className) as Class;
var mc:MovieClip = new AssetClass();
...
}
che ottiene il percorso di classe della risorsa attualmente selezionata nel componente ComboBox (
assetNameCbo.selectedItem.data
) e utilizza la funzione
getDefinitionByName()
(del pacchetto flash.utils) per ottenere un riferimento reale alla classe della risorsa per poter creare una nuova istanza di tale risorsa.