. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .




 
 
SEGÉDLETEK Komponensek

Flash Plugin detektáló komponens programozása
  feltöltve: 2005.03.28 | szerző: ismeretlen | olvasva: 3796 alkalommal

   
 

Sziasztok! Ebben a segédletben egy Flash Plugin detektáló komponenst fogunk elkészíteni, melyet egy csomó paraméterrel készítünk most el, hogy mikor élesben használjuk majd, akkor gyorsan testreszabhassuk, az aktuális munkánk kinézetéhez, vagy ami mégfontosabb, hogy csak egy szám átírásával kelljen megkűzdenünk, ha kijön a Flash Player 8:) Vágjunk bele!


Bevezető gondolatok


Ha még nem tudsz semmit a komponensek készítéséről, akkor kérek ne olvasd tovább ezt segédletet, mert nem szeretnék kitérni olyan dolgokra, amelyeket már elmondtam a "Több funkciós előtöltő komponens" segédletben. Így kérlek azt olvasd el előbb, utána gyerek játék lesz ez is!

Tudom, sokan már Flash MX 2004-el dolgoznak és talán az MX 2005 sem várat már sokat magára, ez a segédlet mégis FLMX-re íródott, de hála istennek ezek a kódok felülről nem korlátosak, vagyis biztosan lefuttatja őket az MX 2004 is.

Elöljáróban annyit, hogy én kezdetben, sok detektálónak utánanéztem. Így találtam JavaScript-eset is, méghozzá nem is egyet, de mindegyik szerzője leírta, hogy az ő script-je ezért meg azért jó, de hozzátette, hogy van egy-két ilyen meg olyan eset, amikor nem tudja rendesen megállapítani a verziószámát a felhasználó Flash Playerének (továbbiakban F.P.), így megbízhatatlan. Nyílván én voltam türelmetlen és létezik helyesen működő F.P. detektáló JS-ben, de mivel már igen untam, a "Kérlek töltsd le a legújabb F.P.-t hogy megnézhesd az oldalam!" feliratokat, és fejlesztői mentegetőzéseket, megint a jó-öreg swf.hu fórumhoz fordultam, ahol tenegri felvilágosított, hogy a Macromedia-nak, van saját Detection Kit-je.

Hát én is ezt töltöttem le és néztem meg, mivel gondoltam a software fejlesztőnek csak van jó ötlete a saját problémájára, melyet szeretne megosztani a programját használó fejlesztőkkel:) . Ez egy igen egyszerű kis kódocska, mely a Flash-ből magából, nézi meg a user alvázszámát.

Én ezt a módszert szeretném megosztani veletek. Nyílván sokan tudnak jobbat, vagy biztos van ennek az útnak hibája, vagy olyan eset mikor nem működik - pl. ha egyáltalán nincs F.P. egy gépen:) - de nekem eddig nem volt negatív visszejelzésem ezzel a módszerrel kapcsolatban. Természetesen örülnék, ha a segédletet kommentálnák olyanok is akik egy jobb, vagy esetleg szebb megoldást ismernek erre a problámára.


Tervezés, a komponens működése


Úgy fog működni, hogy az első képkockájára tesszük a mozinknak komponensünket (továbbiakban komp.), ahol egy stop(); utasítással megállítjuk azt.

Majd megvizsgálja hogy az illetőnek hányas verziószámú a F.P.-je , ezt összeveti, azzal hogy mi mit adtunk meg neki paraméterként. Ha nagyobb mint a megadott paraméter, akkor ez a felhasználó képes lesz a mozink megtekintésére. Ez abból adódik, hogy bízunk a Macromedia-ban, olyan szempontból, hogy nem fog egy fejlettebb F.P.-t úgy a piacra dobni, hogy az a kisebb verziószámú plugin-ekre készült tartalmakat, ne tudja megjeleníteni. Ez azért elvárható és elég logikus, nem?:) Ha tehát jó a F.P.-je a kedves látogatónak, akkor a komp.-ünk egy paraméterként (továbbiakban param.) meghatározott képkockájára küldi a _root idősíkot. Így ez a detektáló beépíthető lesz egy oldal elé.

Ha viszont a paraméterben megadott szám nagyobb mint a user verziószáma, akkor értelem szerűen fel kell ajánlani neki, hogy töltse le a friss verziót. Ezt a komponensünk úgy teszi majd meg, hogy dinamikusan létrehoz egy szövegdobozt, melynek a betűtípusát, betűméretét és betűszínét param.-ként megadhatjuk, így majd a nagyon designos munkákhoz is testreszabhatjuk a detektort:).

Ebbe a szövegdobozba, egy szintén param-ként megadott szöveget rak a komp., melynek előnye hogy akkor se kell a kódba nyúlni ha mondjuk egy angol nyelvű oldal elé rakjuk kis detektőr barátunkat, hiszen elég lesz ezt az egyetlen String-et átírni.
Majd ha kattint a user, akkor egy linkre továbbítja őt a komp. Itt természetesen a link, és az is paraméterezhető hogy milyen ablakban nyíljon fel a kapcsolt oldal.

Megjegyzés: Nem árt, ha a szöveg, mely megjelenik a felhasználónak felhívja a figyelmét majd, hogy klikkelni kell egyet, valahogy így:

"Az Ön Flash Player-e frissítésre szorul. Kérem kattintson, hogy letölthesse a legújabb verziót!"

Ez lesz belőle.


Paraméterek meghatározása


Először is, hozzunk létre egy új mc-t és kereszteljük el "detector"-nak. Majd a Linkage... menüben pipáljuk ki az Export for ActionScript rublikát és az Identifier-nek adjuk meg a "detector_mc"-t. Persze "-k nélkül:).

Most jöhet akkor a Component Deifinition... menü.

Menjünk akkor sorban lefele, ahogy azt a preloader segédletben is tettük. Mindenhol figyeljünk oda, hogy a "Name" rublikákba olyan neveket adjunk a paramétereinknek, mellyekből remélhetőleg akkor is tudni fogjuk mire valók, ha egy év múlva vesszük elő komp.-ünket. Továbbá ne téveszd el a "Type" oszlopot se!

• "KompVerziószám" név alatt, egyértelműen az a paraméter fog helyet foglalni, ami az egésznek a lelke. Ezt "cversion" változónévvel illettem. Ha megnézed minden "Variable" név előtt van egy c betű. Ezt nem poénból raktam oda, csak mert egy csomó név c nélkül bajos lenne, úgy mint: font, color, text. Az ilyenekre érdemes figyelni, mert küldönben kavarodások lehetnek belőle. Így beszúrtam mindenhova egy c (álá component) betűt, hogy következetes legyen minden mikor kódolunk.

• Ezután jön a "Szöveg", szerintem ezt nem kell magyarázni.

• Itt az "Ablak" param. jön, mely egy lista. Itt definiáljuk az ablak fajtákat. Ezek majd a getURL parancshoz kellenek mikor átirányítjuk a user-t a letöltő oldalra. Így ide én _blank, _parent, _top és _self tagokat definiáltam a listában. Nagyon fontosak a "_" jelek az ablakmegnevezések előtt.

• Itt adjuk majd meg a linkünket.

• Ez szolgál arra, hogy a megjelenő felirat betűtípusát megadhassuk.

• A méret a lényeg:) -> egyértelmű nincs mit magyarázni.

• A felirat színét úgy válasszuk meg, hogy ne felejtsük olyan háttéren lesz, amilyet default háttérszínnek beállítunk a "Properties" palettán, mikor kezdünk egy munkát.

• Itt jön két olyan paraméter, melyet most még csak másoljatok le egy az egyben, és majd a kódon végighaladva meglátjátok mi értelmük volt.

• A másik copy+paste-es param:)

• cjumper névre keresztelt param. mely azt adja majd meg, hogy a _root-on hova ugorjon a komp. mikor a detektálás befejeződött.

Aztán tudjátok, itt még egy rakat hasznos dolgot be tudunk állítani, amit én meg is tettem és amire nem térek ki, de ajánlom nektek ne mulasszátok el ti sem, mert amikor egy év után veszünk elő egy komp.-t... Már baromi unalmas igaz?:) De akkor is így van.

A "Live Preview" funkciót most sem mutatom be, mert itt tipikusan semmi értelme:), de talán egy következő segédletben...

 
   
 
 

© Devnet.hu. A segédletek semmilyen formában nem másolhatók, publikálhatók a Devnet.hu és a szerzők közös írásos engedélye nélkül.
 
. .. : Swf.hu 1.0 archívum : Swf.hu főoldal >>> : .. .