geek space web solutions

MassLoader et LoaderMax - Gérer des chargements multiples

Tuesday, 14 December 2010 17:44
There are no translations available.

massloading greensock loader 55px
En Flash, il est toujours important de bien gérer les chargements. Nous avons souvent besoin de charger plusieurs éléments avant de lancer réellement l'animation (exemple des fichiers à charger les plus courrants : CSS, JPG, SWF, XML). Je connais 2 bibliothèques qui permettent de gérer des chargements multiples : Masapi MassLoader et GreenSock LoaderMax.

Je crée pratiquement toujours un swf utilisant l'une de ces biliothèques pour charger le reste de l'application Flash. Ce swf que je vais nommer "MultiLoader" se doit d'être plutôt léger et pour cela j'obtiens de meilleurs résultats avec le LoaderMax de GreenSock. (Environ 26 Ko pour LoaderMax contre 42 Ko avec MassLoader...)

massloading greensock logo

Je vais m'attarder ici sur la manière dont je passe les objets chargés et comment j'appelle les fonctions du fichier swf principal chargé.


Avec Masapi MassLoader :
function completeHandler(evt:Event):void {
trace("MassLoad complete");

try {
var main_xml:XML = file3.getData("XML");                        
var loaderSITE = file4.getData("flash.display.Loader"); //file.getData() also works

}
catch(Error) {
trace("error : L'un des fichiers n'a pas été chargé correctement ou est non conforme au format associé à son extension.");
return;
}

loaderSITE.content.pre_url=pre_url;
loaderSITE.content.progMovieClip=loaderMovieClip;
loaderSITE.content.xmlList=main_xml;
loaderSITE.content.contenuFond=contenuFond;

addChild(loaderSITE);

loaderSITE.content.init();
}    


massloading greensock loadermax

Avec LoaderMax de GreenSock, j'ai eu beaucoup de difficultés à appeler les fonctions et passer des variables au fichier SWF principal car je ne connaissais pas l'existance de la propriété rawContent. En effet, il faut utiliser cettte propriété plutôt que "content".
Dans la documentation de Greensock, ils disent qu'en générale il vaut mieux utiliser "content" mais pour SWFLoader et ImageLoader on doit parfois utiliser rawContent cela dépend de ce qu'on veut faire : "content" se réfère à un Sprite ContentDisplay qui est créé immédiatement et sert comme un wrapper (=emballage) pour le contenu brut... L'avantage de ce conteneur "ContentDisplay" c'est qu'on peut l'afficher tout de suite et qu'il propose des fonctionnalités comme des fonctions de rognage ou rognement.
Donc, en général, vous devriez toujours utiliser le "content" à moins que vous devez accéder directement au contenu brut d'un SWFLoader ou d'un ImageLoader.

Voilà le code en utilisant rawContent avec LoaderMax :
function completeHandler(event:LoaderEvent):void {
var main_xml:XML = LoaderMax.getContent("xmlDoc");                            
var loaderSITE:* = LoaderMax.getContent("mainSWF");

loaderSITE.rawContent.pre_url=pre_url;
loaderSITE.rawContent.progMovieClip=loaderMovieClip;
loaderSITE.rawContent.xmlList=main_xml;
loaderSITE.rawContent.contenuFond=contenuFond;

addChild(loaderSITE.rawContent);

loaderSITE.rawContent.init();

}
 

Add comment


Security code
Refresh

Sections


Last articles

Récupérer les informations E... Lancer une application au dé... Bug Gestion des balises META... position:absolute with ie6 d... Retirer Mootools du Front of... Afficher un Plane Papervisio... Contrôler un SWF externe - E... Cube 3D avec images - Paperv... Perspectives d'emploi encour... Quelle version de PHP pour J...

Sondages

Do you think HTML5 can completely replace Flash ?
 
Would you be interested in an online XML editor ?
 

Paypal

paypal

Code du plugin Joomla AutoSEO 1.2 par www.geek-space.fr