Hvordan sende eksterne kommandoer til en Flash Movie

Hvordan sende eksterne kommandoer til en Flash Movie


Hvis Flash-filmer er utplassert på websider, kan du gi kommandoer i Javascript for å ringe interne Action funksjoner. Dette tillater en grad av kontroll over hva som skjer i løpet av Flash fra nettleseren. Funksjonen kan brukes til mange formål, og betyr at du kan få en dialog mellom websiden og Flash. Sende kommandoer til Flash på denne måten er enkel, krever bare noen få skritt. Aktiviteten bruker Action ExternalInterface Class.

Bruksanvisning

1 Åpne Flash og opprette et nytt dokument, lagre det med et navn og plassering av ditt valg. Inkluder en dynamisk Textfield på scenen, og gi den Instance Name "test_txt" for demonstrasjon. Lag et nytt lag for koden din og åpne Handlinger panelet. Skriv inn følgende kode:
import flash.external.ExternalInterface;
ExternalInterface.addCallback ( "myExternalCallingFunction", myInternalCalledFunction);
funksjon myInternalCalledFunction (param)
{Test_txt.text = param; }

2 Lag din webside i HTML. Ved hjelp av følgende struktur, bygge siden din og inkludere Flash movie innen det:
<Html>
<Head>
</ Head>
<Body>
<Div> <object width = "200" height = "200">
<Param name = "movie" value = "myflashfile.swf">
<Embed src = "myflashfile.swf" width = "200" height = "200">
</ Embed> </ object> </ div>
<Div> <input type = "button" value = "test" onclick = "callInternalFunction ( 'Hei');" /> </ div>
</ Body>
</ Html>

Endre navn og dimensjoner som passer din Flash movie. Knappen vil bli brukt til å vise hvordan data kan sendes inn i Flash side ved å kalle en funksjon i Actionscript fra Javascript. Lagre websiden i samme katalog som Flash-film, med et navn du ønsker.

3 Inkluder Javascript-kode på din webside, som i følgende eksempel struktur (mellom åpning og lukking <head> tags):
<Script language = "javascript">
fungere getMovieRef (theMovie)
{Var isExplorer = navigator.appName.indexOf ( "Microsoft") = - 1!;
tilbake (isExplorer)? vinduet [theMovie]: dokument [theMovie]; }
funksjon callInternalFunction (testdata)
{GetMovieRef ( "myflashfile") myExternalCallingFunction (testdata).; }
</ Script>

Change "myflashfile" for å gjenspeile navnet på filmen. Denne koden håndterer behandlingen når knappen på siden trykkes. Dataene tekst String vedtatt av knappen er vedtatt av Javascript i Flash-filmen, ringer en intern Action funksjon.

4 Lagre filene dine, eksportere Flash movie til en SWF og laste opp alt til din webserver. Du kan ikke teste denne koden riktig uten å bruke en server, så må du laste opp filene og gå til siden for å sjekke om det fungerer. Når du kommer til siden, trykker du på HTML-knappen og du skal se ordet "hallo" vises i tekstfeltet i Flash movie. Hvis koden ikke virker, sjekk all koden din og sørge for at de samme funksjonsnavnene er inkludert i både Flash og HTML.

5 Endre koden for å dekke dine egne behov. Endre Flash-kode for å gjenspeile hva funksjonaliteten du trenger, og gjøre det samme i Javascript. Du kan sende ulike data fra nettleseren til Actionscript-kode som du trenger. Prøv å bare bruke denne funksjonaliteten der det er nødvendig, som kommunikasjon mellom nettleseren og Flash kan være litt uforutsigbar.