Load Clip avec preloader

niko21 Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 avril 2008 - 26 avril 2008 à 15:25
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010 - 27 avril 2008 à 20:28
Bonjour à tous, je débute dans Flash et je crée par la même occasion mon site Internet en Flash, voici mon problème :
Je veux créer differentes sections dans mon site, accessibles à partir de boutons dans un menu, mais chaque section est assez lourde (comprenant images, animations, etc..) donc je voudrais savoir comment faire pour que quand on clique sur un des boutons du menu, le clip (qui est dans la bibliothèque) qui contient la section appelée se load sur la scene et avec un preloader qui fait patienter pendant le chargement du clip ?
Merci de votre aide !!!

6 réponses

cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
26 avril 2008 à 15:58
tu ne peux pas précharger un clip qui est déjà dans ton anim principale, puisque lorsque celle est ouverte, les éléments qui la composent, sont également chargés !!!!!!!

Tu peux faire du préchargement pour des éléments extérieurs à ton anim pricipale (des swf, des jpeg).

Surtout si tes mc sont lourds, il vaut mieux faire chaque section de ton site sur des swf externes, appelés au moment où tu en a besoin (au clic sur le bouton correspondant à la section que tu veux afficher)

Alise
from FlashForum-oi.info
0
niko21 Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 avril 2008
26 avril 2008 à 16:39
Donc le mieux c'est de passer par un loadMovie qui fera appel à des swf externes qui auront chacun un preloader si j'ai bien compris ?
en tout cas merci de la rapidité de ta réponse !!
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
26 avril 2008 à 19:48
Exactement, et tu verras ton anim en sera allégée, donc beaucoup plus rapide au chargement chez l'internaute.

Alise
from FlashForum-oi.info
0
niko21 Messages postés 7 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 27 avril 2008
27 avril 2008 à 02:34
Alors j'ai donc mon anim principale (qui contient pour l'instant juste un bouton) et j'ai créé à part un swf qui contient pour l'instant juste une image, ce swf est appelé par le bouton de l'anim principale, avec sur la premiere frame de ce swf un preloader.

Sur le bouton de l'anim principale j'ai mis le code qui appelle le swf externe :

on (release) {
var conteneur:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
conteneur.loadMovie("Section1.swf");
}

Mais en testant, ça ne marche pas : en cliquant sur le bouton, je vois la premiere image du swf externe (le preloader s'affiche une fraction de seconde donc il fait bien le lien) mais il revient sur l'anim principale
Par contre après tests, le .swf externe marche parfaitement tout seul (preloader impec puis image qui s'affiche)
Alors ca vient surement du loadMovie sur le bouton de l'anim principale ? Ou est-ce qu'il faut faire le preloader, non pas dans le .swf externe, mais integré à l'anim principale (sur le bouton ?)
Quelqu'un aurait-il un code ou un lien vers un code qui permet de faire appel à un swf externe (avec preloader) en cliquant sur un bouton.
Ca doit pas être sorcier car je vois beaucoup de sites flash qui font ça, mais j'ai beau chercher je ne trouve pas.
Merci de votre aide !
0

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

Posez votre question
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
27 avril 2008 à 20:27
Il ya plusieurs façons de faire un "preloader" de fichiers externes tels que "swf" ou "jpg", perso j'utilise un script externe pour charger mes swf externes  sur mon swf principal (ou main.swf) "preloader.as" qui dit :
// Declare the loader assets.
var right:MovieClip;
var middle:MovieClip;
var left:MovieClip;
var track:MovieClip;

// Maxiumum width of the middle piece.
var middleMaxWidth:Number;

function init():Void
{
    middleMaxWidth = track._width - right._width;
   
    // Monitor the loading progress of the parent movie.
    onEnterFrame = function()
    {
        var bl = _parent.home.getBytesLoaded();
        var bt = _parent.home.getBytesTotal();

        if (bl > 4 && bt > 4 && bl >= bt)    // Loading is complete.
        {
            delete onEnterFrame;
            _parent.home.gotoAndPlay(0);
            _parent.gotoAndStop(2);
            this.unloadMovie();
        }
        else
        {
            middle._width = Math.round(bl / bt * middleMaxWidth);
            right._x = middle._x + middle._width;
        }
    }
}

init();
que j'appelle dans un fichier intermédiaire : "loadMachin.swf"
qui lui même charge "machin.swf"
voir sur le site :
http://www.pegggimmo.com
ventes > maisons > nord

si ça te convient je te passe les sources

Alise
from FlashForum-oi.info
0
cs_alise Messages postés 2203 Date d'inscription lundi 12 juillet 2004 Statut Membre Dernière intervention 26 janvier 2010
27 avril 2008 à 20:28
Et chaque section du site est chargée de cette manière

Alise
from FlashForum-oi.info
0