Passare valori e parametri a Flash in AS3 con SWFObject
Credo che pochi non abbiano mai avuto bisogno di passare parametri dalla pagina agli SWF precompilati, comunque scrivo questo tutorial per chi ancora non l’ha fatto (o sta avendo problemi nel farlo) col codice Actionscript 3.0.
L’esempio a seguire fa uso della libreria Javascript SWFObject (ex Flashobject costretto a cambiar nome per ovvi problemi di copyright) che consiglio caldamente a chi ancora usa la classica pagina creata dall’ IDE Adobe, per minor codice sulla pagina, semplicità d’uso e eliminazione del fastidioso click di sicurezza presente sul browser Microsoft: potete scaricare il JS necessario dal sito ufficiale.
Vediamo quindi come passare valori all’SWF embeddato nella pagina tramite questo script.
…
<div id="flash_example"></div>
…
<script type="text/javascript">
var so = new SWFObject("wp-content/uoploads/swf/variable_as3.swf", "variable_as3", "300" ,"100", "9", "#ffffff");
so.addVariable("text","prova testo");
so.addParam("wmode","transparent");
so.write("flash_example");
</script>
Innanzitutto carichiamo il JS che si occupa dell’embedding del file tra i tag
, quindi nel creiamo un DIV che conterrà l’SWF precompilato e a seguire scriviamo il codice JavaScript necessario.Istanziamo un oggetto SWFObject passandogli come parametri l’url del file, un nome, larghezza e altezza, la versione del Flash Player necessaria e il colore di sfondo,
allo stesso oggetto aggiungiamo una variabile chiamata text con valore prova testo, passiamo il parametro wmode con valore transparent, necessario per una migliore compatibilità e infine attacchiamo il contenuto dell’oggetto al div flash_example.
Il lavoro, per quanto riguarda il codice sulla pagina termina qui.
Passiamo al codice Actionscript del nostro SWF per renderci conto di come recuperare il valore precedente passato.
Se utilizzando AS2 sarebbe stato sufficiente trattare la variabile text come già dichiarata all’interno del file, in AS3, data la sua natura vicina alla tipica programmazione C-like, dobbiamo compiere una semplice operazione in più.
In questo modo istanziamo sulla scena principale del nostro filmato una variabile che avrà lo stesso valore di quella passata tramite l’SWFObject ripristinando così l’uso che si aveva in passato con la vecchia versione dello script.
Innumerevoli sono gli utilizzi che questa tecnica ci permette: senza troppo lavoro possiamo rendere dinamico il nostro Flash per caricare testi e immagini da inserire al volo nelle nostre
animazioni.
Ritieni questo post utile o interessante?
Condividi e Segnala
Leggi anche:


