Script de chargement de clips à la queue-leuleu pour limiter la bande passante (avec options) flashmx8 - action script 2

Contenu du snippet

Bonjour,

pour optimiser une animation, j'ai voulu mettre toutes les animations complémentaires dans des fichiers swf séparés puis les charger.
J'ai vite laisser tomber cette solution car tous les clips se chargeaient en même temps ce qui saturait la bande passante.
J'ai donc écris un petit script, permettant de charger mes clips, les uns après les autres dans l'ordre uniquement lorsque le clip précédent a été complètement chargé.
Comme j'intègre des clips, il à fallu les placer sur la scène en définissant des positions.
J'ai donc ajouté des options comme la position mais aussi la transparence et la taille.

Voilà, ce code fonctionne, je vous le livre tel que. Bien entendu on pourrait super optimiser les procédures et enlever les écouteurs qui ne servent pas.
Je pense qu'il pourra rendre service.

Mon prochain petit script sera un test de de bande passante qui permettra en dessous d'une certaine valeur, d'aiguiller sur un site mirroir pour répartir la charge de votre site et ainsi offrir à vos visiteurs une bande passante correcte.

Source / Exemple :


/* Script de chargement de clips l'un derrière l'autre (à la queue-leuleu) en avec options

->> Le but étant de limiter la bande passante avec un chargement des clips en même temps  !!

  • /
// Chargement des clips en position taille alpha ... // attention l'ordre est important. // Tab_Movie c'est le tableau des clips // Tab_clip c'est le tableau contenant les noms de clips qui recevrons les animations pour des appels futurs // Tab_Alpha c'est le tableau indiquant le pourcentage de transparence // PosXY est un tableau contenant les couple de position X et Y //TailleXX est un tableau contenant les couples de taille X et Y Tab_Movie = new Array("lign.swf","btn.swf","marques.swf","radios/radio_lanceur.swf","news.swf","compteur/count.swf"); Tab_Clip = new Array("clip0","clip1","clip2","clip3","clip4","clip5"); Tab_Alpha = new Array(100,100,80,100,100,100); var PosXY:Object = (PosX,PosY); PosXY = new Array([193,-23],[1,204],[-10,255],[565,50],[1,356],[635,134]); var TailleXY:Object = (TailleX,TailleY); TailleXY = new Array([100,100],[100,100],[100,100],[60,60],[100,100],[80,80]); //pour info, pour appeler une valeur dans un tableau double : //pour la valeur N°1 soit X on fait : trace(PosXY[0][0]); //pour la valeur N°2 soit Y on fait : trace(PosXY[0][1]); // on lance le procéssus et on initaialise la valeur de n=0 -> n=0; Charge(0); //----------------------------------------------------------------------------------------------------- function Charge(n){ // on passe en paramètre (n) à la fonction puis les valeur des tableau à Movie et à CLIP Movie=Tab_Movie[n]; CLIP=Tab_Clip[n]; mc = new MovieClipLoader(); mc_Ecout = new Object(); mc.addListener(mc_Ecout); var container:MovieClip = createEmptyMovieClip(Tab_Clip[n], n+2); mc.loadClip(Tab_Movie[n], container); container._x=PosXY[n][0]; container._y=PosXY[n][1]; container._xscale=TailleXY[n][0]; container._yscale=TailleXY[n][1]; container._alpha=Tab_Alpha[n]; //----------------------------------------------------------------------------------------------------- mc_Ecout.onLoadInit = function(cible){ //trace(cible + " Pret à l'emploi"); }; mc_Ecout.onLoadStart = function(cible){ // trace("Demande de chargement enregistrée!"); }; mc_Ecout.onLoadProgress = function(cible, loadedBytes, totalBytes){ //trace(Movie+" = "+loadedBytes +"/"+totalBytes); } mc_Ecout.onLoadComplete = function(cible){ // trace(cible +" Chargement terminé!"); n++; if (n<=Tab_Movie.length+1){ Charge(n); //trace(cible+" = "+cible.getDepth()); // indique le niveau de chargement } }; mc_Ecout.onLoadError = function(cible, codeErreur){ //trace (cibel+" = "+codeErreur); }; } //-----------------------------------------------------------------------------------------

Conclusion :


Vous pourvez voir une démo ici (pour l'instant) http://www.toutauto.fr/test/map2.html

Créez une bannière gratuite en flash (bibliothèque de 770 images en fond opaque ou semi-transparent)
Visitez GTBann la bannière interactive à 4 Menus dynamiques et stats en temps réel (100% flash)
Cette bannière résiste aux bloqueurs de pubs les plus puissants (!) http://www.GTBann.com

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.