- Introduction
- Apprendre Flash 5 pas à pas
- Symboles et Occurrences
- Techniques
- Programmer dans Flash 5
-
Actions (Bases)
- Actions (Niveau intermédiaire)
- Actions (Fonctions avancées
)
- Variables
- Fonctions
- Objets
- Flash 4 (Archives)

 

 

Actions > Fonctions avancées > getBytesLoaded() & getBytesTotal>

A quoi ça sert :

Lorsque vous placez un fichier swf sur l'une de vos pages, le poids de celui ci peut causer des problèmes de lecture de votre animation, vous devez donc procéder à un préchargement de vos swf.

Vous devez alors utiliser les commandes :

getBytesLoaded() et getBytesTotal

 

Télécharger le fichier fla - Mac - PC

Précharger une animation avant de la lire :

La technique est simple mais vous devez gérer ce préchargement sur plusieurs images. De plus, vous devez comprendre qu'il faut gérer 2 problèmes. Le préchargement lui même et l'animation et/ou l'affichage de la progression du préchargement. Commençons donc par créer un movie clip qui va s'agrandir pour indiquer le pourcentage de préchargement de votre animation.

  1. Créer une scène supplémentaire que vous placerez en première position (haut de la liste dans la fenêtre "Scène"). Faites un glisser-déplacer pour la positionner en première place.
  2. Placer un movie clip sur la scène qui représente une barre de progression de chargement *
  3. Placez le code ci-dessous sur l'occurrence du movie clip

    onClipEvent (enterFrame) {
    this._xscale = (_root.getBytesLoaded()/_root.getBytesTotal()*100);
    }

  4. Sélectionnez l'image 4 et tapez F6 pour créer une image clé
  5. Sur cette image clé, placez le code ci-dessous :

    if (getBytesLoaded()<getBytesTotal()) {
    gotoAndPlay (1);
    } else {
    gotoAndPlay ("Nomdelasceneouvousvoulezaller");
    }

* (Attention, vous devez éditer votre symbole afin que l'un des 4 côtés soit aligné avec la croix qui se trouve au centre de tous les symboles. Coté gauche placé sur le centre du symbole dans l'exemple ci-dessus. Un double-clic a été effectué sur l'occurrence afin de déplacer le rectangle qui avait été dessiné vers la droite)

Utilisez bien l'opérateur "<" et non "<=" !

Voilà, la technique est très simple, expliquons à présent le code :

this._xscale = (_root.getBytesLoaded()/_root.getBytesTotal()*100);

>> Cette ligne d'instruction permet de modifier la taille de l'occurrence à la valeur qui correspond au pourcentage de l'animation chargée par rapport au total du poids de l'animation. Vous m'avez suivi ?!

if (getBytesLoaded()<getBytesTotal()) {

>> cette ligne d'instructions permet de tester si le nombre d'octets chargés de l'animation correspond au nombre total des octets de l'animation.

>> L'ensemble du test permet de savoir si le chargement de l'animation est effectué. Si c'est le cas, la tête de lecture peut passer à la scène que vous indiquez. Sinon, la tête de lecture retourne sur l'image 1 et rejoue les image 1, 2, 3 et 4, retombant ainsi sur l'image qui contient ce test, effectué donc en boucle.

Vous pourriez ajouter une variable (un champ texte Dynamique) sur la scène qui porterait le nom de "charge" et placer le code ci-dessous dans le script "onclipevent" :

_root.charge = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100) add "%";

Ce code permet d'afficher le pourcentage en chiffres dans un champ texte (la variable).

 

 

 

< Sommaire