geek space web solutions

MassLoader et LoaderMax - Gérer des chargements multiples

Mardi, 14 Décembre 2010 17:44
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();

}
 

Commentaires  

 
# Invité 12-01-2011 10:43
ou tout simplement BulkLoader.
Répondre | Répondre en citant | Citer
 
 
# Invité 26-05-2011 17:27
Rien compris à l'article, je testerai ca pépère chez moi quand j'aurais l'occase.

Merci tout de même de me faire découvrir l'existence de ces nouvelles librairies ^^

Actuellement je passe par BulkLoader, qui fonctionne très bien, hormis quelques galères pour précharger de multiples vidéos (c'est assez anarchique en fonction des navigateurs..)
Répondre | Répondre en citant | Citer
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir

Sections

Éditeur de fichier XML en ligne


"XML Manager" est un éditeur sécurisé permettant d'administrer en ligne un fichier XML.
Il fournit des fonctions avancées de recadrage et de redimensionnement des images...

Sondages

Pensez-vous que le HTML5 puisse complètement remplacer Flash ?
 
Seriez-vous intéressé par un éditeur d'XML en ligne ?
 

Paypal

paypal

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