Une barre de chargement sous flash 8

Une barre de chargement sous flash 8 - Flash/ActionScript - Programmation

Marsh Posté le 22-04-2006 à 11:16:54    

Bonjour

 

Je voudrais avoir un code actionscript pour afficher le taux de chargement avant de voir l'animation sous flash 8. :ange:

 

Je vous en remercie d'avance

Reply

Marsh Posté le 22-04-2006 à 11:16:54   

Reply

Marsh Posté le 22-04-2006 à 11:22:52    

ici c'est un forum, pour ce genre de question y a [:alkatraz] (<= ceci est un lien)


---------------
D3
Reply

Marsh Posté le 22-04-2006 à 11:29:19    

Oui mais sur google j'ai rien trouvé de valable si vous trouvez quelque chose dite le moi

Reply

Marsh Posté le 22-04-2006 à 12:52:10    

ah ?!
 [:airforceone]  
tu as cliqué sur le lien ?


---------------
D3
Reply

Marsh Posté le 23-04-2006 à 00:19:00    

oui est rien non +

Reply

Marsh Posté le 23-04-2006 à 18:31:33    

et la doc de Flash ?


---------------
D3
Reply

Marsh Posté le 25-04-2006 à 13:23:44    

ça s'appelle un preloader.
Fais une recherche sur "preloader actionscript" dans google.
Bon courage (y'en a des tonnes, avec 36 approches différentes)

Reply

Marsh Posté le 26-04-2006 à 15:04:22    

Tiens, en voilà un que j'ai fait, je viens de le retrouver (ctrl+c/ctrl+v) :
 

Code :
  1. //Déclaration des variables utilisées par la suite
  2. var sentinelle:Object = new Object();
  3. var mcLoader:MovieClipLoader = new MovieClipLoader();
  4. var conteneur:MovieClip = this.createEmptyMovieClip("conteneur", this.getNextHighestDepth());
  5. //Instructions réalisées pendant la progression du chargement des données
  6. sentinelle.onLoadProgress = function():Void{
  7.    var bt:Number = conteneur.getBytesTotal();
  8.    var bl:Number = conteneur.getBytesLoaded();
  9.    var per:Number = ! bt ? 0 :Math.floor(bl/bt*100);
  10.  
  11.    affichage.text = per + " %";
  12. }
  13. //Instructions réalisées à la fin du chargement des données
  14. sentinelle.onLoadComplete = function():Void{
  15.    affichage.text = "chargé !"
  16.    conteneur.play();
  17. }
  18. mcLoader.addListener(sentinelle);
  19. mcLoader.loadClip("externe.swf", conteneur);


 
 
Pour tester, tu crées une scène vide avec un champ texte vide [dynamique, multiligne], dont le nom d'occurence sera "affichage" [panneau propriétés de flash]. Ensuite, tu enregistres le FLA dans un répertoire.
 
Dans ce même répertoire, tu crées un SWF nommé "externe.swf" assez lourd (avec une image de quelques mega par exemple) pour que tu puisses tester le preloader avec "ctrl+enter x2" de Flash [règlage de la simulation du débit via ctrl+b si nécessaire].
 
Le code est améliorable, en utilisant une variable pour le nom du fichier externe à charger, en créant le champ texte via du code, par exemple, afin de le rendre plus souple et réutilisable. Mais je n'ai pas voulu embrouiller inutilement.
 
 
Explication de texte :
 
On crée un MC vide afin de servir de conteneur (d'où son nom) au fichier externe (externe.swf) qui sera chargé dans la scène. Par défaut, il se place dans le coin supérieur gauche, mais il est possible de lui indiquer où se placer (via un peu plus d'instructions). Il se redimensionne automatiquement aux dimensions du SWF externe chargé.
 
Ensuite, on crée un movieClipLoader "MCloader", qui permettra d'effectuer les actions de chargement et d'écoute. A la fin du code, on lui indique une action de chargement, via "loadClip", et on lui attribue le listener "sentinelle".
 
Cet objet "sentinelle" permettra de rester vigilant face à ce qui se passera au sein de MCloader, qui est lié au conteneur. C'est quelque chose qui reste à l'écoute, en attente de mouvement. D'où le nom que j'ai choisi : "sentinelle", lol.
 
Tout le reste, c'est de la broutille. En gros, on s'adresse au listener (sentinelle, donc), pendant le chargement (onLoadProgress) et à la fin, une fois toutes les données chargées (onLoadComplete).
 
Maintenant, pour ta barre de progression, il suffit de te baser sur la variable "per" (pourcentage) afin d'aggrandir une barre que tu auras préalablement crée (avec un nom d'occurence), ou via du code (on peut dessiner via les API de Flash, c'est plus optimisé pour une barre simple, et pas forcément plus complexe à mettre en oeuvre).

Reply

Sujets relatifs:

Leave a Replay

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