- · Niveau : DÉBUTANT
- · Compatibilité : Flash 5
- · Fichier à télécharger
Ce tutoriel montre comment faire une base de script utilisant l’action "onClipEvent" de Flash 5 et les objets "getBytesLoaded()" et "getBytesTotal()"
Le Flash suivant n’est qu’un exemple sans résultat
a) Réaliser le pré-chargemet en tant que tel:
Il sagit de de créer un script qui demande au flash d’attendre que le nombre de bytes qu’il contient soit charger à 100% avant de démarrer, en utilisant un test de condition "if". Il est préférable d’utiliser l’objet getBytesTotal() que la Propriété "_totalFrames" pour s’assurer que le chargement se fera à 100%.
DONC: dans une boucle ou avec un "onClipEvent(enterframe)" vous placer ce script:
if (Number(_level0.getBytesLoaded()) >= Number(_level0.getBytesTotal()))
b) Réaliser des affichages témoins en temps réel:
il s’agit de mettre une boite de texte dynamique dans votre flash qui affichera une variable directe ou construite.
Pourcentage: (disons que vous nommez votre variable "temoin" et qu’elle est située sur le niveau0 de votre movie):
_level0.temoin = "Chargement en cours... " add Math.round((_level0.getBytesLoaded() / _level0.getBytesTotal()) * 100) add "%"
l’objet Math.round sert à arrondir le résultat numérique... pour un affichage plus simple... essayez-le sans cet objet ;-)
Poids ou nombre de K: (disons que vous nommez votre variable "K" (kiloBytes) et qu’elle est située sur le niveau0 de votre movie):
_level0.K = Math.round(_level0.getBytesLoaded() / 1000) add " K"
vous pourriez également afficher le résultat en bytes directement dans ce cas il faut enlever la division par 1000 comme ceci:
_level0.K = Math.round(_level0.getBytesLoaded()) add " bytes"
c) Réaliser l’affichage de la barre en temps réel:
il s’agit de créer un movie clip (un rectangle) dont la largeur sera celle qui sera affichée à 100% du chargement.
setProperty (this, _xscale, Number((_level0.getBytesLoaded() / _level0.getBytesTotal()) * 100))
l’action "setProperty" sert à ajuster la largeur (_xscale) selon le pourcentage de bytes chargées. vous pourriez également utiliser d’autres propriétés pour réaliser votre indicateur de chargement...
Dans l’exemple à télécharger vous trouverez un movieClip que vous pouvez utiliser directement dans votre flash pour faire le préchargement et afficher des témoins en temps réel. Le movieClip contient ce script:
onClipEvent (enterFrame) {
// construction du string de la variable temoin (qui affiche le pourcentage de chargement)
_level0.temoin = "Chargement en cours... " add Math.round((_level0.getBytesLoaded() / _level0.getBytesTotal()) * 100) add "%";
// construction du string de la variable byte (qui affiche le nombre de bytes chargées)
_level0.byte = Math.round(_level0.getBytesLoaded()) add " bytes";
// voila le script qui fait fonctionner la barre selon un étirement en xScale
setProperty (this, _xscale, Number((_level0.getBytesLoaded() / _level0.getBytesTotal()) * 100));
// voici le script qui fait fonctionner le pre-chargement lui-meme
if (Number(_level0.getBytesLoaded()) >= Number(_level0.getBytesTotal())) {
// ici vous devez mettre l’action que vous desirez une fois le chargement termine
tellTarget ("_level0") {
gotoAndStop (2);
}
}
}
Téléchargez l’exemple en format .fla : tw_charg.zip
Exemple du Flash sur le pré-chargement