Problème de chargement de plusieurs swf externes

Résolu
synthatetic Messages postés 4 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 30 mars 2009 - 30 mars 2009 à 12:05
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010 - 30 mars 2009 à 16:47
Bonjour à tous,

Voici mon problème, en espérant être clair.
Petite précision, je suis archi-nul débutant en AS .
Mon Fichier est en AS2.

Je suis en train de réaliser un site Fullflash,
Ce site comporte un porfolio en scrollbar dans lequel se charge plusieurs swf externes via la méthode loadMovie.
J'ai créer un clip vide (ecran-mc) , puis je l'ai dupliqué en le nommant à chaque fois "ecran1_mc", "ecran2_mc", etc ... Ensuite sur mon calque code j'ai écris :

ecran1_mc.loadMovie("swf1.swf");
ecran2_mc.loadMovie("swf2.swf");
ecran3_mc.loadMovie("swf2.swf");
ecran4_mc.loadMovie("swf2.swf");
ainsi de suite ...

Tous ces swf externes possèdent leur propre preloader mais se chargent en même temps sur le site. Du coup la bande passante risque de saturer et de provoquer des bugs d'affichage. d'ailleurs chez moi les swf ne se chargent pas dans le bon ordre.

Pour mieux "visualiser"mon soucis, j'ai mis en ligne la page concernée.
www.ekzampl.com

J'aimerais trouver une méthode pour régler se problème.
Soit créer un preloader unique qui s'occupe de charger tous ces swf externes ;
soit définir dans mon code un ordre de chargement pour dire "une fois que swf1 est chargé entièrement, commencer a charger sw2', et ainsi de suite...

Je rappelle que ce site est en AS2 et que les quelques discutions que j'ai pu trouver à ce sujet sur le net parle souvent d"un composant "massload" mais uniquement pour AS3 !!!

Quelqun aurait-il une solution ou une piste à suivre pour résoudre ce problème de chargement de swf externes ?

Merci d'avance.

6 réponses

on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
30 mars 2009 à 12:27
Salut,
Encore une fois loadMovie est très limité, utilises un movieClipLoader pour charger tes fichiers , ainsi tu pourras agir dans le onLoadProgress et dans le onLoadInit, et si tu as beaucoup de swfs à charger places-les dans une boucle for ainsi que tes clips.

@+.
telov.ch
3
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
30 mars 2009 à 12:51
Tout est dans l'aide de Flash, pour le moviClipLoader je t'ai mis un lien qui ne peut-être plus explicie, pour la boucle ben admettons que tu as 6 clips sur ta scène qui doivent appeler 6 swfs, selon un même identifiant (1,2,3, ...)

for (var i :Number = 1; i<7; i++)
// on initialise une variable i que l'on incrémente tant que i est plus petit que 7
    {
        this["clip"+i].id = i;
// on donne un identifiant à nos clips

Du coup lorsque tu chargeras tes clips tu peux récupérer l'identifiant :

this["clip"+i].loadClip("swf"+(this.id)+".swf", ecran_mc);

@+.
telov.ch
3
synthatetic Messages postés 4 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 30 mars 2009
30 mars 2009 à 12:37
Merci !

Sais tu où je peux trouver un exemple de syntaxe pour utiliser movieClipLoader, je ne l'ai jamais utilisé. Ou un exemple.

Quand à la "boucle for" qu'est ce que c'est exactement ?
0
synthatetic Messages postés 4 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 30 mars 2009
30 mars 2009 à 13:44
Merci pour ton aide et ton temps, je vais tester ça.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
synthatetic Messages postés 4 Date d'inscription vendredi 30 juin 2006 Statut Membre Dernière intervention 30 mars 2009
30 mars 2009 à 14:02
Re, c'est encore moi ;)

Avec l'exemple d'utilisation que tu m'as envoyé, le problème est qu'il faut créer un contenenur avec this.createEmptyMovieClip.

Hors je préférais utiliser le clip vide que j'ai créé pour importer mes swf. Est-ce possible ? Je ne vois pas à quel endroit je dois placer le nom de mes clips vide (ecran1_mc, ecran2_mc, ecran3_mc) et dire ce que je veux qu'ils chargent indépendamment.

Car placer dans ce tuto il n'explique pas comment importer plusieurs swf externes en même temps avec cette méthode.
0
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
30 mars 2009 à 16:47
Avec un clip vide c'est pareil, en fait t'as même pas besoin de créer d'identifiant, suffit de récupérer la valeur de la variable i :

this.createEmptyMovieClip("clip", 0);
trace(clip);

var mclListener = new Object();
var mcl = new MovieClipLoader();
mcl.addListener(mclListener);
trace(mcl);
trace(mclListener);

    for(var i:Number = 1; i < 7; i++)
    {
        trace(i);
       
        duplicate = clip.duplicateMovieClip("clip" + i, i);
        trace(clip);
       
        mcl.loadClip("swf"+(i)+".swf", clip);
        trace("clip" + i);
    }
    mclListener.onLoadProgress = function(mc)
{
trace("ok");
}

    mclListener.onLoadInit = function(mc)
{
trace("ok");
}

@+.
telov.ch
0
Rejoignez-nous