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


 
 
SEGÉDLETEK ActionScript

A MovieClipLoader osztály ismertetése
  feltöltve: 2005.10.23 | szerző: Giruna | olvasva: 11025 alkalommal

   
 

A MovieClipLoader osztály ismertetése


Első lépések: a deklarálás és a figyelőobjektum (listener) létrehozása

A következő két sorral létrehozzuk a MovieClipLoader osztály my_mcl nevü példányát és egy myListener nevü objektumot, amit majd hozzáadunk a MovieClipLoader-hez, de ne kapkodjuk el, hiszen ez lesz majd az első metódusunk:

var my_mcl:MovieClipLoader = new MovieClipLoader();
var myListener:Object = new Object();


Metódusok

addListener
my_mcl.addListener( listenerObject:Object )

Regisztrál egy objektumot, amely fogadja majd a hívott MovieClipLoader eseménykezelők jelzéseit. A "hallgató" a paraméterként megadott objektum lesz. Ezt a sort az előző kettőhöz hozzáírva, már el is végeztük a figyelőobjektum hozzáadását a MovieClipLoader-hez:

my_mcl.addListener(myListener);

loadClip
my_mcl.loadClip( url:String , target:Object )

Betölt egy SWF, JPEG (Flash 8-tól kezdve akár progressive JPEG, nem animált GIF, vagy PNG) fájlt egy MovieClip-be. (animált GIF esetén csak az első frame jelenik meg.) Ezt a metódust gyakorlatilag a loadMovie() vagy MovieClip.loadMovie() metódus helyett használjuk. A szerepe mindnek ugyanaz - egy külső fájl betöltése.

Paraméterek

url: Egy abszolút vagy relativ URL a fentebb említett fájltipusokhoz, amit be akarunk tölteni.

target
: A MovieClip elérési útvonala, amibe betöltjük a fájlt, illetve hivatkozhatunk itt egy Flash-en belüli szintre (_level) is. Ebben az esetben a szint számát kell megadnunk.
A célpontul szolgáló MovieClip tartalma (ha van neki) felülíródik a betöltött SWF fájl vagy képfájl tartalmával.

Van egy Boolean tipusú visszatérési értéke, mely ha az URL kérés sikeresen elment true-val tér vissza ellenkező esetben false-szal.

removeListener

my_mcl.removeListener( listenerObject:Object )

Eltávolítja a figyelőt, melyet az addListener()-rel adzunk hozzá a MovieClipLoader-hez, így nem kapunk további visszajelzéseket a MovieClipLoader-ről.

Paraméterek

listenerObject: a figyelőobjektum, melyet a MovieClipLoader osztály addListener() metódusával adtunk a osztálypéldányunkhoz.

Boolean tipusú visszatérési értékkel rendelkezik, amely true ha a figyelő eltávolítása sikeres és false ha sikertelen.

unloadClip
my_mcl.unloadClip( target:Object )

Egy loadClip()-pel töltött mozi tartalmát üríti ki, a MovieClip.unloadMovie() metódushoz hasonlóan. Ha a metódust a betöltési folyamat alatt hívjuk, akkor a MovieClipLoader.onLoadError esemény is létrejön.

Paraméterek

target: A MovieClip elérési útvonala vagy a mozi egy szintje, ahová a loadClip()-pel töltöttünk.

Van egy Boolean tipusú visszatérési értéke, mely true ha sikeresen kiürült a mozi, ellenkező esetben false.

getProgress
my_mcl.getProgress( target_mc:Object )

Annak a fájlnak betöltődött és a teljes, betöltendő bájtjainak számával tér vissza, melyet a MovieClipLoader.loadClip() metódus használatával töltünk be, tömörített fájloknál a tömörített bájtok számát adja vissza. A metódus ezen információk lekérésére szolgál, annélkül, hogy egy MovieClipLoader.onLoadProgress eseményt kellene alkalmazni.

Paraméterek

target_mc: Egy SWF, JPEG, GIF vagy PNG fájl, ami a MovieClipLoader.loadClip() használatával töltődött.

Két egész szám értékkel tér vissza, a fentebb említett bájtok számai: a bytesLoaded és a bytesTotal tulajdonságok.

Használata:
var mclProgress:Object = image_mcl.getProgress(target_mc);
trace("Betöltött bájtok: "+mclProgress.bytesLoaded+" Teljes bájtmennyiség: "+mclProgress.bytesTotal);

Eseménykezelők

onLoadStart
listenerObject.onLoadStart = function([ target_mc:Object ]) {
   // ide jönnek a kódok
}

Ha egy MovieClipLoader.loadClip() sikeresen elkezdte a fájl letöltésést, akkor hívódik meg ez az esemény. A target_mc azonosítja azt a MovieClip-et, amelyikre meg lett hívva, ez akkor hasznos, ha több fájlt töltünk be ugyanazokkal az eseménykezelőkkel.

Paraméterek

listenerObject: a figyelőobjektum, amelyik a MovieClipLoader.addListener()-rel lett hozzáadva .
target_mc: a MovieClip amelyikbe a MovieClipLoader.loadClip() metódussal töltünk. Ez a paraméter opcionális.

onLoadComplete
listenerObject.onLoadComplete = function([ target_mc:Object], [httpStatus:Number]) {
   // ide jönnek a kódok
}

Ha egy MovieClipLoader.loadClip()-rel meghívott fájl teljesen betöltődik, akkor fut le ez az esemény. A target_mc azonosítja azt a MovieClip-et, amelyikre meg lett hívva, ez akkor hasznos, ha több fájlt töltünk be ugyanazokkal az eseménykezelőkkel.
Fontos dolog megérteni az MovieClipLoader.onLoadComplete és MovieClipLoader.onLoadInit közötti különbséget. Az onLoadComplete esemény, akkor jön létre, ha az SWF, JPEG, GIF vagy PNG fájl betöltődött, de még azelőtt, hogy inicializálódott volna. Ezért ezen a ponton még nem elérhetőek a betöltött mozi metódusai és tulajdonságai, nem hívhatóak függvények, nem küldhető el a lejátszófej egy kiválaszott frame-re, stb. Ha ilyesmit szeretnénk, akkor ehelyett használjuk inkább az onLoadInit eseményt, mely akkor fut le, ha a tartalom teljesen betöltődött és inicializálódott.
Flash Player 8-tól kezdve a figyelő egy HTTP státuszkóddal is visszatud térni. Ha a Flash Player nem tudja elérni a státuszkódot a szerverről, vagy nem tud kommunikálni a szerverrel, akkor az alap 0 értéket adja át az AS kódnak. Mindig 0 érték generálódik ha a Flash Player plug-in a következő böngészőkben fut, melyek nem tudnak HTTP státuszkódot átadni a szervertől a Flash Player-nek: Netscape, Mozilla, Safari, Opera, és Internet Explorer for the Macintosh.

Paraméterek

listenerObject: a figyelő objektum, amelyik a MovieClipLoader.addListener()-rel lett hozzáadva .
target_mc: a MovieClip amelyikbe a MovieClipLoader.loadClip() metódussal töltünk. Ez a paraméter opcionális.
httpStatus: Number [opcionális] - (csak Flash Player 8-tól) A HTTP státuszkód amivel visszatér a szerver. Például 404-es kód jelenik meg, ha a szerver nem talál semmit, ami megfelelne a kért URI-nak. További információk fellelhetőek a HTTP státuszkódokról, a HTTP specifikációk 10.4-es és a 10.5-ös fejezeteiben: ftp://ftp.isi.edu/in-notes/rfc2616.txt


onLoadInit
listenerObject.onLoadInit = function([ target_mc:MovieClip ]) {
   // ide jönnek a kódok
}

Ha a betöltött klipben, az első frame-en lévő cselekmények lefutottak, akkor ez az esemény meghívódik. Miután ez az esemény lefutott, lehet a betöltött mozihoz tulajdonságokat hozzárendelni, metódusokat meghívni és egyéb interakciókat végrehajtani.
A target_mc azonosítja azt a MovieClip-et, amelyikre meg lett hívva, ez akkor hasznos, ha több fájlt töltünk be ugyanazokkal az eseménykezelőkkel.

Paraméterek

listenerObject: a figyelőobjektum, amelyik a MovieClipLoader.addListener()-rel lett hozzáadva .
target_mc: a MovieClip amelyikbe a MovieClipLoader.loadClip() metódussal töltünk. Ez a paraméter opcionális.


onLoadError
listenerObject.onLoadError = function( target_mc:Object , errorCode:String, [httpStatus:Number] ) {
   // ide jönnek a kódok
}

Ha egy MovieClipLoader.loadClip()-pel nem tudunk betölteni, akkor ez az esemény jön létre, ennek számos oka lehet, a szerver leállt, a fájl nem található, stb.
A target_mc azonosítja azt a MovieClip-et, amelyikre meg lett hívva, ez akkor hasznos, ha több fájlt töltünk be ugyanazokkal az eseménykezelőkkel.

Ha az errorCode az "URLNotFound" sztringgel tér vissza, akkor sem a MovieClipLoader.onLoadStart sem a MovieClipLoader.onLoadComplete esemény nem hívódott meg, ennek az oka lehet például, hogy a szerver leállt, vagy a fájl nem található.
Ha pedig a "LoadNeverCompleted" sztringgel, akkor a MovieClipLoader.onLoadStart ugyan lefutott, de a MovieClipLoader.onLoadComplete nem, oka lehet például, hogy letöltés megszakadt, mert a szerver túlterhelődött vagy összeomlott közben, stb.
Flash Player 8-tól kezdve a figyelő egy HTTP státuszkóddal is visszatud térni, ezzel kapcsolatban lásd a fentebb leírtakat az onLoadComplete-nél.

Paraméterek

listenerObject: a figyelőobjektum, amelyik a MovieClipLoader.addListener()-rel lett hozzáadva .
target_mc: a MovieClip amelyikbe a MovieClipLoader.loadClip() metódussal töltünk. Ez a paraméter opcionális.
errorCode: Egy sztring, amelyből megállapítható a hiba oka, ennek két értéke lehet:"URLNotFound" vagy "LoadNeverCompleted".
httpStatus: Number [opcionális] - (csak Flash Player 8-tól), a többit lásd fentebb az onLoadComplete-nél leírtakban.


onLoadProgress
listenerObject.onLoadProgress=function([target_mc:Object[,loadedBytes:Number[,totalBytes:Number]]]) {
   // ide jönnek a kódok
}

Az esemény folyamatosan lefut, amikor a betöltődő tartalom íródik a háttértárra (időben a MovieClipLoader.onLoadStart és a MovieClipLoader.onLoadComplete között helyezkedik el). Arra használható ez a esemény, hogy a letöltés állapotáról jeleníthessünk meg információkat, a loadedBytes és a totalBytes paraméterek használatával. A target_mc azonosítja azt a MovieClip-et, amelyikre meg lett hívva, ez akkor hasznos, ha több fájlt töltünk be ugyanazokkal az eseménykezelőkkel.
Megjegyzés: fontos tudni, hogy a Flash fejlesztői környezetben ez az esemény nem szimulálható, így csak online jeleníti meg a betöltöttségi állapot eredményeit.

Paraméterek

listenerObject: a figyelőobjektum, amelyik a MovieClipLoader.addListener()-rel lett hozzáadva .
target_mc: a MovieClip amelyikbe a MovieClipLoader.loadClip() metódussal töltünk. Ez a paraméter opcionális.
loadedBytes: A betöltődött bájtok száma, amikor az esemény lefutott.
totalBytes: A teljes fájlméret bájtban, aminek be kell töltődnie.

Linkek

A Flash 7 dokumentációja a MovieClipLoader Osztály-ról:
A Flash 8 dokumentációja a MovieClipLoader Osztály-ról:
A HTTP státuszkódokhoz a link (10.4-es és a 10.5-ös fejezetek): ftp://ftp.isi.edu/in-notes/rfc2616.txt

 
   
 
 

© 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 >>> : .. .