Come inviare comandi esterni ad un filmato in flash

September 15

Come inviare comandi esterni ad un filmato in flash


Se i filmati Flash vengono distribuiti nelle pagine Web, è possibile inviare comandi a JavaScript per richiamare le funzioni ActionScript interne. Questo permette un livello di controllo su ciò che accade all'interno di Flash dal browser Web. La funzione può essere utilizzata per vari scopi e significa che è possibile ottenere un dialogo tra la pagina Web e Flash. Invio di comandi in Flash in questo modo è semplice, richiede solo pochi passi. L'attività utilizza il codice ActionScript ExternalInterface classe.

istruzione

1 Aprire Flash e creare un nuovo documento, salvarlo con un nome e la posizione della vostra scelta. Includere un campo di testo dinamico sul palco, e dare il nome di istanza "test_txt" per la dimostrazione. Create un nuovo livello per il codice e aprire il pannello Azioni. Inserire il seguente codice:
import flash.external.ExternalInterface;
ExternalInterface.addCallback ( "myExternalCallingFunction", myInternalCalledFunction);
Funzione myInternalCalledFunction (param)
{Test_txt.text = param; }

2 Crea la tua pagina web in HTML. Utilizzando la seguente struttura, costruire la vostra pagina e inserire il filmato Flash all'interno di esso:
<Html>
<Head>
</ Head>
<Body>
<Div> <object width = "200" height = "200">
<Param name = "movie" value = "myflashfile.swf">
<Src = larghezza "myflashfile.swf" embed = "200" height = "200">
</ Embed> </ object> </ div>
<Div> <input type = valore "pulsante" = "test" onclick = "callInternalFunction ( 'ciao');" /> </ div>
</ Body>
</ Html>

Modificare il nome e le dimensioni per soddisfare il vostro filmato Flash. Il pulsante verrà utilizzato per mostrare come i dati possono essere inviati nella pagina Flash chiamando una funzione in ActionScript da JavaScript. Salvare la pagina Web nella stessa directory del filmato Flash, con un nome a scelta.

3 Includere il codice JavaScript nella pagina Web, come nella seguente struttura esempio (tra l'apertura e la chiusura <head>):
<Script language = "javascript">
funzionare getMovieRef (themovie)
{Var isExplorer = navigator.appName.indexOf ( "Microsoft") = - 1!;
tornare (isExplorer)? finestra [themovie]: documento [themovie]; }
Funzione callInternalFunction (testdata)
{GetMovieRef ( "myflashfile") myExternalCallingFunction (testdata).; }
</ Script>

Change "myflashfile" per riflettere il nome del filmato. Questo codice gestisce l'elaborazione quando si preme il pulsante sulla pagina. La stringa di testo dei dati passati dal pulsante è passato da JavaScript nel filmato Flash, chiamando una funzione interna di ActionScript.

4 Salvare i file, esportare il filmato Flash in un file SWF e caricare tutto per il server Web. Non è possibile verificare questo codice correttamente senza utilizzare un server, quindi è necessario per caricare i file e accedere alla pagina per controllare se funziona. Una volta che si arriva alla pagina, premere il pulsante HTML e si dovrebbe vedere la parola "ciao" apparire all'interno del TextField nel filmato Flash. Se il codice non funziona, controllare tutto il codice e assicurarsi che gli stessi nomi delle funzioni sono incluse in Flash e il codice HTML.

5 Modificare il codice in base alle proprie esigenze. Modificare il codice Flash in modo da riflettere qualunque funzionalità di cui si ha bisogno, e fare lo stesso all'interno del tuo JavaScript. È possibile passare i dati diversi dal browser al codice ActionScript come richiedete. Prova di utilizzare solo questa funzionalità, se necessario, la comunicazione tra il browser e Flash può essere un po 'imprevedibile.