Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: Preloader débutant?
Envoyé: 20 janvier 2004, 8h02 par Oznog
Le principe est très simple en soit, c'est celui du streaming. C'est à dire que peut importe ce que tu fais, le Flash se charge bytes après bytes sans arrêt. Tu ne peux même pas arrêter ce chargement. La seule chose à faire est une pause (stop) en attendant que le Flash soit entièrement chargé.
Et il charge TOUT ce qu'il y a sur la scène "calque" après "calque" (layer) puis "cadre" après "cadre" (frame) et ce jusqu'au dernier cadre du dernier calque. Le seul contrôle la dessus c'est l'ordre du chargement à savoir à partir du premier calque (layer) au dernier ou l'inverse soit du dernier calque au premier. (voir "load order" dans la configurations de publication => onglet Flash).
NOTE que TOUT n'est pas chagés. Par exemple tout objet de la librairie qui ne se retrouve pas directement sur la scène mais seulement après un code Action Script (particulièrement le AttachMovie). Comme un son par exemple ou encore un jpeg mais ce peut être un clip très complexe et très lourd... (un truc est de les placer sur la scène (mais à l'extérieur) pour les forcer à les charger bien que des méthodes "avancées" plus propre soit possible.)
Aussi, tout ce qui est externe comme un loadVariable etc.
Alors le principe du préchargement est simplement de stopper l'animation en attendant que tous les bytes soit chargées. Normalement sur le 15ième cadre (frame 15) pour s'assurer que le moteur Flash a le temps de bien digérer les premiers codes.
Pour savoir si les bytes sont chargés tu as les propriété "_root.getBytesLoaded()" et "_root.getBytesTotal()" qu'il suffit de comparer. Tu as aussi le vieux "ifFrameLoaded()".
C'est la même chose pour la plupart des objets externe, monObjetExterne.getBytesLoaded() etc.
Donc, bien que le principe du streaming sans arrêt et celui d'attendre un nombre de bytes chargés soit simple, un code de préchargement peut devenir très complexe si on tient en compte tout les éléments "non prit en charge", et ce sans parler des script courrant de préchargement en prototype, avec animation, et barre de chargement.
Ciao
Oznog
Réponses
|