[FLASH MX] Les fonctions getBytesTotal() et getBytesLoaded()

Les fonctions getBytesTotal() et getBytesLoaded() [FLASH MX] - Web design - Graphisme

Marsh Posté le 12-01-2004 à 11:56:42    

:hello: Salut,  
 
Tjs sur mon site photo.  
Qq'1 en connait bcq sur les fonctions getBytesTotal() et getBytesLoaded()?  
 
Merci  :jap:


Message édité par ema le 12-01-2004 à 14:22:13
Reply

Marsh Posté le 12-01-2004 à 11:56:42   

Reply

Marsh Posté le 12-01-2004 à 12:18:56    

C'est quoi la question ?

Reply

Marsh Posté le 12-01-2004 à 12:19:28    

C'est à propos du tuto de flash france ?
Si ca déconne c'est normal, faut enlever les lignes blanches et les lignes de commentaires dans le code.
Sinon ils expliquent plutôt bien dessus, même moi j'ai compris :D
 
"getbytestotal" récupère la taille totale du fichier
"getbytesloaded" récupère la taille de ce qui a déjà été chargé
Ensuite petite règle de trois pour avoir le % et hop :)

Reply

Marsh Posté le 12-01-2004 à 14:59:41    

gihel a écrit :

C'est à propos du tuto de flash france ?
Si ca déconne c'est normal, faut enlever les lignes blanches et les lignes de commentaires dans le code.
Sinon ils expliquent plutôt bien dessus, même moi j'ai compris :D
 
"getbytestotal" récupère la taille totale du fichier
"getbytesloaded" récupère la taille de ce qui a déjà été chargé
Ensuite petite règle de trois pour avoir le % et hop :)


 
ok, oui je savais qu'il fallait enlever les lignes de commentaires  :lol: Mais meme si je copie le code ca ne peut pas fonctionner ?  
 


---------------
(¯`·.¸¸.-> ema <-.¸¸.·´¯)
Reply

Marsh Posté le 12-01-2004 à 15:06:06    

En théorie ca devrait marcher, mais je sais que chez moi ca marchait pas. Peut être un bug de flash. En nettoyant le code tout passe nickel.
Essaye de copier ton code d'abord dans le bloc note, pour avoir du texte brut, sans info de couleur ou de typo.


Message édité par gihel le 12-01-2004 à 15:09:01
Reply

Marsh Posté le 12-01-2004 à 15:38:39    

Jusqu'à là ca marche, j'ai dc mis ca
 

Code :
  1. _root.bytes_totales = _level0.getBytesTotal();
  2. _root.bytes_chargées = _level0.getBytesLoaded();
  3. _root.bytes_rapport = Math.round((_root.bytes_chargées)/(_root.bytes_totales)*100);
  4. _root.bytes_chargement_affichage = Math.round(_root.bytes_rapport) add " %";
  5. if (_root.bytes_rapport == 100) {
  6. _root.play();
  7. stop();};
  8. tellTarget (_root.barre_chargement_bytes) '}'
  9. gotoAndPlay (_root.bytes_rapport);


 
Ensuite j'ai ca
 
Sur la seconde image ne mettez aucune action afin de laisser le clip effectuer des lectures en boucle par défaut.
 
Détaillons ces actions : On définit premièrement deux variables sur la racine de l'animation _root.bytes_totales et _root.bytes_chargées qui se chargent de recueillir respectivement le nombre d'octets total du _level0 ( _level0.getBytesTotal() ) et le nombre d'octets chargés ( _level0.getBytesLoaded() ). Une troisième variable établit le rapport entre les deux en arrondissant le résultat à l'entier le plus proche ( _root.bytes_rapport = Math.round((_root.bytes_chargées)/(_root.bytes_totales)*100) ). Ensuite on se charge de donner la valeur du pourcentage obtenu à la variable du champ de texte que nous placerons à la racine de l'animation ( _root.bytes_chargement_affichage= Math.round(_root.bytes_rapport) add " %" ) à laquelle nous concaténons le signe "%" avec l'Action Script "add". La suite du code permet de cibler le Clip contenant la "barre" et de le placer sur l'image correspondant au pourcentage de chargement. Une dernière partie ( if ... ) permet de continuer la lecture de l'animation principale si le chargement est complet. Ici nous arrêtons le préchargement lorsque la totalité de l'animation est chargée mais vous pouvez, bien évidemment, changer cette limite dans vos réalisations.Notre Clip de contrôle est terminé, nous pouvons le placer sur la première image de l'animation principale. Il est inutile de lui donner un nom d'occurrence.
 
- Placez sur un calque de l'animation principale ( _root ) un champ de texte dynamique avec comme nom de variable : bytes_chargement_affichage  
 
Et ca
 
- Nous allons créer le dernier Clip. Créez-le donc avec sur sa première image un rectangle assez court ( qui réprésentera un taux de chargement de 1 % ). Placez une image clé sur l'image numéro 100 et modifier le rectangle sur cette image pour lui donner une longueur qui correspondra au taux de chargement maximal ( 100 % ) et une action "stop" sur cette dernière image. Définissez une interpolation de forme ( il existe d'autres moyens... ) entre l'image 1 et l'image 100 .
 
 
 
 :( Mais à partir de là ca ne va +  :(  

 Donnez-lui le nom d'occurrence suivant : barre_chargement_byte placez-le sur la racine de l'animation et sur la première image.
 
- Placez une action "stop" sur la première image de l'animation principale ( où se trouvent tous les précédents éléments ) et les éléments de votre animation sur le images suivantes.

Résumons : lorsque l'animation commence, le Clip de contrôle "oscille" entre sa première image et sa seconde définissant ainsi le taux de chargement de l'animation et l'affiche par l'intermédiaire d'une variable placée à la racine. Il place, de la même manière, le clip avec la barre de chargement sur l'image appropriée et continue la lecture de l'animation lorsque le préchargement est terminé.
 
Il ne vous reste plus qu'à dessiner une interface adéquate :-) et à placez les autres éléments de votre animation principale à partir de l'image 2 ( comme ici la photo ).
 
 
Ca m'énerve qd je pige pas  :cry:  :cry:  
 [:2501]


Message édité par ema le 12-01-2004 à 15:39:22

---------------
(¯`·.¸¸.-> ema <-.¸¸.·´¯)
Reply

Marsh Posté le 12-01-2004 à 15:54:42    

Ha oui, y'a aussi une faute de frappe (oui, ca arrange pas les choses quand on comprends pas tout :D)
 
barre_chargement_byteS il manque un s dans le nom d'occurence, faut que ce soit le même que dans le code.
 
Dans la première image de ton anim, tu as le movie clip qui tourne en boucle et qui calcule le %, tu as le movie clip de la barre de chargement qui grossit selon ledit %, et le reste viens sur les autres images.


Message édité par gihel le 12-01-2004 à 15:57:49
Reply

Marsh Posté le 12-01-2004 à 16:27:40    

gihel a écrit :

Ha oui, y'a aussi une faute de frappe (oui, ca arrange pas les choses quand on comprends pas tout :D)
 
barre_chargement_byteS il manque un s dans le nom d'occurence, faut que ce soit le même que dans le code.
 
Dans la première image de ton anim, tu as le movie clip qui tourne en boucle et qui calcule le %, tu as le movie clip de la barre de chargement qui grossit selon ledit %, et le reste viens sur les autres images.


 
Je viens de trouver ca. Je vais étudier ce trucVoici un moyen souple sur une seule image image clé dans votre animation de faire un preload complet affichant une barre de progression et un affichage du pourcentage durant le chargement de vos animations flash.  
 
Pour effectuer ce preload, on utilise un clip qui contient une animation de 100 frames qui permet de faire rapidement des barres de progressions illustrant le chargement de votre animation et ainsi de pouvoir adapter au mieux à votre charte graphique celui ci.  
 
Le moteur de ce preload est un prototype déclaré sur la première frame de l'animation où se trouve également le clip de chargement. On ajoute un champ dynamique pouvant récupérer une variable nommée "progression" pour indiquer le pourcentage de chargement effectué.  
 
Le fla qui accompagne l'exemple suivant est assez détaillé je pense pour être compris facilement. Mais pour plus de lisibilité je vais vous mettre ici le prototype utilisé :  
 
Code:  

Code :
  1. MovieClip.prototype.preload = function() {
  2.     // on définit les variables donnant le nombre total de Bytes , chargées et le rapport entre les deux :  
  3.      this.Total = this._parent.getBytesTotal();
  4.     this.Charge = this._parent.getBytesLoaded();
  5.    // taux de chargement  
  6.     this.rapport = Math.round((this.Charge)/(this.Total)*100);
  7.    // Affichage du pourcentage dans un champ texte dynamique avec la variable "progression"  
  8.      _root.progression = Math.round(this.rapport) + " %";
  9.    // Progression de l'animation dans le clip     
  10.      this.gotoAndPlay (this.rapport);
  11.   // Test pour voir si tout est chargé. Si oui on passe sur la frame "debut" le preload a atteind 100%  
  12.      if (this.rapport == 100) {
  13.         this._parent.gotoAndStop("debut" ) ;
  14.      }
  15. }


 
Pour lancer le prototype on utilise sur le clip le script suivant :  
version compatible flash 5 & Mx  
Code:  

Code :
  1. onClipEvent (enterFrame) {
  2. this.preload() ;
  3. }


 
Il est très facile d'adapter cela avec une syntaxe purement flash MX nous traiterons pas ici cela car ce tutorial est cencé être utilisable aussi bien sur flash 5 que flash MX.  
 
Merci bcp  :jap:  
 
 


---------------
(¯`·.¸¸.-> ema <-.¸¸.·´¯)
Reply

Marsh Posté le 12-01-2004 à 23:23:48    

:jap: bon courage

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed