EMBED és OBJECT paramétereinek átadása a Flash mozi felé
A HTML->Flash értékátadás egy lehetséges formája az OBJECT tag-be ágyazott PARAM tag, illetve az EMBED tag FlashVars paramétere.
A PARAM tag az alábbi formában használható:
<PARAM NAME=”FlashVars” VALUE=”[változó1=érték1&változó2=érték2&változó3=érték3...]”>
Az EMBED tag pedig a következő formában alkalmazható:
<EMBED .... FlashVars=”[változó1=érték1&változó2=érték2&változó3=érték3...]”>
Az átadott változók neveinek a _root változóneveivel kell megegyezniük, az értékeket pedig application/x-www-form-urlencoded kódolással kell feltüntetni.
Beágyazási beállítások
Amikor a mozinkat a PUBLISH SETTING/HTML/TEMPLATE/FLASH WITH FSCOMMAND beállítással publikáljuk, az elkészített HTML oldalon észrevehetünk néhány változást.
Az EMBED tagban szerepel egy új paraméter, az swLiveConnect, amelynek „true” értéket kell kapnia.
Érdemes még megfigyelnünk az OBJECT tag ID és az EMBED tag name, illetve id paraméterének értékét.
Mindhárom érték megegyezik. Ez a szöveg lesz a mozi hivatkozási neve a JavaScript-ben.
FSCOMMAND metódus a JavaScriptben
A PUBLISH SETTING/HTML/TEMPLATE/FLASH WITH FSCOMMAND beállítással publikált Flash mozi SWF -je mellett létrejövő HTML elejére a Flash JavaScriptet generál, amellyel feldolgozhatjuk a Flash moziban kiadott FSCommand parancs paramétereit.
A JavaScriptet tartalmazza majd az alábbi eseménykezelő függvényt:
...function mozi_DoFSCommand(command, args) {
......//
......// Place your code here.
......//
...}
A mozi szó helyére az OBJECT tag ID, illetve az EMBED tag NAME és ID paraméterének értéke kerül.
Az FSCOMMAND paraméterei
Ha a mozinkban valahol, például egy gomb kódban szerepel az FSCommand utasítás:
on(release){
FSCommand(„ÜZENET”,”Szia”)
}
és mozinkat a PUBLISH SETTING/HTML/TEMPLATE/FLASH WITH FSCOMMAND beállítással publikáljuk, az FSCommand végrehajtásakor a Flash player azonnal elindítja a befogadó weblap megfelelő mozi_DoFSCommand függvényét, és átadja neki az FSCommand Flash-ben megadott paramétereit.
...function mymovie_DoFSCommand(command, args) {
......alert(„Parancs: ” + command + „; ” + „Argumentum: ” + args)
...}
A weblapunkon megjelenik egy üzenetablak az alábbi szöveggel:
....Parancs: ÜZENET; Argumentum: Szia
A JavaScript Flash metódusai
A weblap és a mozi közötti kommunikációban nagyszerűen használhatók a Flash metódusok. Ezek valójában a Flash objektumhoz tartozó JavaScript függvények, metódusok. Segítségükkel JavaScript hívásokkal adhatunk parancsokat és adatokat a Flash mozinak.
Használatukhoz deklarálni kell egy Flash mozi változót:
var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
var myFl = isInternetExplorer ? document.all.mozinev document. mozinev;
A „myFl” lesz a változó neve, a „mozinev” pedig az OBJECT tag ID, illetve az EMBED tag NAME és ID paraméterének értéke.
Ezek után myFl.metódus(paraméterek) formában alkalmazhatjuk a metódusokat.
GetVarieable, SetVariable
A Flash JavaScript metódusai közül kiemelt szerepe lehet a GetVariable és SetVariable metódusoknak, hiszen ezekkel valós időben kérdezhetjük le, illetve állíthatjuk be a Flash bármelyik változóját.
GetVariable(„változó”): a változó értékét adja eredményként.
SetVariable(„”változó,”érték”): a változó értékét értékre állítja.
Például:
myFl.SetVariable(„message”,”Üdvözlet”)
A fenti JavaScript-kód a mozi fő időszalagján deklarált, „message” nevű változó értékét állítja be az „Üdvözlet” szövegre. Első pillantásra a dolog kissé szegényesnek tűnhet, hiszen azt hihetjük, hogy csupán a fő időszalaggal dolgozhatunk. A változónév azonban útvonallal együtt is (útvonal:változónév formában) feltüntethető, így a beágyazott szimbólumok változóit is írhatjuk, illetve lekérdezhetjük.
Az alábbiakban lássunk néhány érdekes metódust.
SetZoomRect(x1,y1,x2,y2): a mozit úgy nagyítja, hogy a befoglaló téglalapban a mozi x1,y1,x2,y2 koordinátákkal megadott része látszódjon. A koordinátákat twip-ben kell megadni. 72 DPI-s felbontás esetén 1 pixel 20 twip-nek felel meg. (1”=1440 twip=> 72 DPI= 72 pont/1”=> 1440/72=20)
Pan(x,y,mód): a nagyított képernyőt elmozdítja x,y lépéssel. Ha a mód 0, akkor x,y pixelben, ha mód=1 akkor pedig százalékban értendő.
TotalFrames(): Az időszalag teljes hosszát adja frame-ekben.
GotoFrame metódus
Ha a JavaScript-ből szeretnénk beavatkozni a mozi lejátszásába, az alábbi metódusokat használhatjuk:
GotoFrame(„kocka”): a megadott kockára ugrik
Rewind(): az első kockára viszi a lejátszófejet.
Play, StopPlay metódus
JavaScriptből megállíthatjuk és elindíthatjuk a lejátszást. A használható parancsok azonban csak a fő időszalagra vannak hatással.
Play(): elindítja az időszalagon a lejátszást.
StopPlay(): leállítja az időszalagon a lejátszást.