Tra i vari metodi per passare dati a Flash ve n'è uno particolarmente utile nel caso in cui si debbano utilizzare dei valori per stabilire il comportamento del filmato SWF. Si tratta delle FlashVars, variabili che vengono inserite nel tag <object> e che il flash player è in grado di leggere e trasmettere al filmato Flash che ne ha accesso sin dal primo fotogramma.
Poichè sono disponibili immediatamente si rivelano utili in quei progetti dove il contenuto del filmato può variare, per esempio pensiamo a un progetto multi-lingua: possiamo passare tramite FlashVars l'id del linguaggio scelto e fare in modo che il filmato mostri i testi a esso relativi.
Il modo in cui si leggono le FlashVar in Flash 9 è diverso da quello usato fino a Flash 8, mentre il metodo per scriverle rimane invariato.
Per prima cosa analizziamo come scrivere una o più variabili. Come detto FlashVars è un parametro da utilizzare nel tag html <object>, per esempio in un tag esportato da un progetto di Flash 8 abbiamo un codice di questo tipo:
Listato 1. Esempio di codice per inserire SWF con FlashVar
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550"
height="400" id="Filmato" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="Filmato.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="FlashVars" value="variabile1=valore&variabile2=valore&variabile3=valore3" />
</object>
Notiamo come, per passare più di una variabile, sia sufficiente utilizzare il carattere & per dividere le varie coppie nome=valore della variabile.
Questo è il metodo di scrittura delle FlashVars, ma in seguito ai problemi di validazione e al blocco del controllo ActiveX di Internet Explorer sono stati creati diversi metodi "alternativi" per la pubblicazione dell'SWF, generalmente basati su Javascript, che consentono di aggirare il blocco. Il metodo più conosciuto è probabilmente SWFObject, la cui sintassi nella pagina HTML è di questo tipo:
Listato 2. SWFObject per aggirare gli ActiveX di Internet Explorer
<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent">
This text is replaced by the Flash movie.
</div>
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
so.write("flashcontent");
</script>
|
Creare l'effetto Time Machine di Leopard in Actionscript 3.0 |
Guida ActionScript 3 di baseApprendere, in poche lezioni, le nozioni fondamentali per gestire... |
Guida FlashDevelopInstallare e usare FlashDevelop, potente ambiente di sviluppo open... |
Guida Flash Builder 4Un percorso alla scoperta delle potenzialità più importanti... |
Ogni martedì, guide, articoli, FAQ, movie, audio su Macromedia Flash e Actionscript direttamente nella tua casella di posta
Iscriviti alla newsletter
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |