Input boxok lehetőségei
Az interakció a felhasználó aktív részvétele a mozi irányításában. A Flash számos lehetőséget kínál arra, hogy a felhasználótól valamilyen adatot vegyünk át, amire aztán a mozi reagál.
Az egyik legegyszerűbb lehetőség az Input text típusú szövegmező használata.
Az Input box-ba a felhasználó tetszőleges szöveget írhat, amelyet a mozi képes kiértékelni, és reagálni rá.
Nézzünk erre egy példát:
Készítsünk egy 550x50 px nagyságú mozit!
Jobb oldalon helyezzünk el rajta egy 50x50 px-es négyzetet.
Alakítsuk gomb szimbólummá!
Helyezzünk el a gombtól balra egy Input Text típusú szövegmezőt!
Kapcsoljuk be a szegélyét, és a Properties táblán a Var mezőbe írjuk a „myUrl” szöveget. Ezzel létrejön egy „myUrl” nevű változó, amely mindig a begépelt szöveget tartalmazza majd.
Kattintsunk a gombra és üssük le az F9 billentyűt!
Írjuk be az alábbi kódot!
on(release){
getUrl(myUrl,”_blank”)
}
A kód akkor hajtódik végre, ha lenyomjuk a gombot. A getUrl művelet elindít egy böngészőt, és letölti a „myUrl” változóban lévő szövegnek megfelelő oldalt! A „myUrl” pedig mint tudjuk az Input Text tartalmát tárolja.
Teszteljük a mozit! Írjunk a szövegmezőbe egy helye URL címet –ne feledkezzünk meg a http:// előtagról ‑, majd kattintsunk a gombra!
Linkek használata
Felhasználói interakciót tesz lehetővé az URL Link tulajdonság, amivel hiperhivatkozás kapcsolható egy statikus szövegmezőhöz. A szövegmező tartalmára kattintva az oldal letöltődik.
Nyomógombokkal megvalósítható interakciók
A felhasználói interakció leggyakrabban használt eszközei a nyomógombok. Felületük kialakításban szinte csak fantáziánk szabhat határt. Lehetnek egyszerű statikus gombok, amelyek mindig ugyanúgy néznek ki, lehetnek animáltak (animált gomb), amelyek a különböző gombállapotoknak megfelelően változtatják felületüket, lehetnek „némák”, de rendelhetünk hozzájuk hangokat is!
A gombok elsősorban egéreseményekre reagálnak, de felhasználásuk rendkívül sokrétű lehet.
Vezérelhetjük velük a mozi lejátszását, vagy irányíthatunk vele egy a moziba ágyazott videó filmet, weblapok letöltésére, vagy bármilyen az ActionScript-ben megadható művelet elvégzésére programozhatjuk őket.
Billentyűzetfigyelés
A felhasználó egyik legfontosabb beviteli eszköze a billentyűzet. A Flash moziban mindent megtudhatunk a billentyűzet állapotáról, így alkalmazásunk pontosan tud reagálni a felhasználó által begépelt adatokra, vagy éppen egyszerű billentyűleütésekre.
Az igazán fejlett billentyűzetfigyelés egyelőre kissé bonyolultnak tűnhet, de az ActionScript elsajátítása után teljesen érthetővé válik.
Készítsünk egy mozit, és benne egy „szkript_LR” és egy „betu_LR” nevű réteget!
A „betu_LR” réteg-en tegyünk a színpad közepére egy dinamikus szövegmezőt, amelynek Properties tábláján a „betu” szöveget írjuk a Var mezőbe.
Kattintsunk a „szkript_LR” réteg egyetlen kockájára, majd üssük le az F9-et, hogy lássuk az Actions táblát, ahová a parancsokat fogjuk gépelni!
Gépeljük be az alábbi kódot!
_root.onEnterFrame=function(){
betu=chr(Key.getAscii());
}
Teszteljük a mozit! A képernyő közepén mindig a lenyomott betű jelenik meg.
Egér események
Az egérkezelés leggyakoribb fajtája, bár erre sokszor oda sem figyelünk kattintások figyelése. Ezt általában gombokkal valósítjuk meg, de a Flash természetesen lehetőséget nyújt a pillanatnyi egérpozíció lekérdezésére, és a drag and drop műveletekre is.
Az alábbi példa egy labdát varázsol a képernyőre, amely folyamatosan követi az egérkurzort.
Készítsünk új mozit!
Rajzoljunk egy körvonal nélküli piros-fekete radiális színátmenetű kört a képernyőre. Átmérője legyen 80 px!
Alakítsuk szimbólummá a körlapot (MovieClip).
Kattintsunk az új szimbólumra, majd az F9-el jelenítsük meg az Actions táblát!
Gépeljük be a következő kódot:
onClipEvent(enterFrame){
this._x+=(_root._xmouse-this._x)/5
this._y+=(_root._ymouse-this._y)/5
}
A kód egy moziklip eseményt ír le, amely mindannyiszor működésbe lép, amikor a Flash megrajzol egy képkockát a labdát tároló szimbólumban.
Az esemény megváltoztatja a példány this._x, és this._y koordinátáját, úgy hogy a pillanatnyi értékekhez hozzáadja (+=) a labda (_x,_y) és az egér (_xmouse, _ymouse) koordinátái közötti különbség 10-ed részét.
Húzd és dobd (Drag and Drop) a grafikus rendszerek pozícionáló eszközzel végzett művelete, amelynek során egy grafikus objektumot a pozícionáló eszközzel megragadva a képernyő egy másik pontjára helyezhetünk át.