Prechargement en flash

Bonjour, j'ai une animation flash sur mon site mais elle est un peux longue a s'afficher.
Je voudrai faire un chargement avec une barre et un pourcentage.

Malheureusement, j'ai beau avoir suivie beaucoup de tutoriel sur internet, je n'arrive pas a le faire, quelqu'un pourrai m'expliquer?

Je dispose de flash 8

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour, il faut utiliser getBytesLoaded() dans une première frame et boucler tant que différent du total à charger.

    Un exemple ici, en AS3 c'est peut être différent et moins bidouille.

    Un exemple ici très clair ici:
    http://www.devzone.fr/as2-prechargement-flash-1ere-partie
    1. Contributeur
      Salut

      un loader en AS3 c est un truc du style

      var conteneurSwf:Loader = new Loader();
      var swf:URLRequest = new URLRequest("URL du.swf");
      function onComplete(evt:Event):void
      {
      	this.addChild(conteneurSwf);
      }
      function onProgress(evt:ProgressEvent):void
      {
      	var p:Number=(evt.bytesLoaded*100)/evt.bytesTotal;
      	trace(p);
      }
      conteneurSwf.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
      conteneurSwf.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
      conteneurSwf.load(swf);


      a+
      1. Flash 8 c'est AS2.
      2. Si besoin j'ai flash CS5
      3. Contributeur
        alors

        essaye ! :-)

        tu ouvre flash CS5 , tu fais une nouvelle anime AS3

        et sur sur la premiere image de la time ligne , tu met cette action

        var conteneurSwf:Loader = new Loader(); 
        var swf:URLRequest = new URLRequest("URL du.swf"); 
        function onComplete(evt:Event):void 
        { 
         this.addChild(conteneurSwf); 
        } 
        function onProgress(evt:ProgressEvent):void 
        { 
         var p:Number=(evt.bytesLoaded*100)/evt.bytesTotal; 
         trace(p); 
        } 
        conteneurSwf.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); 
        conteneurSwf.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
        conteneurSwf.load(swf);


        Ps :flashdevelop et le SDK remplace tres bien Flash CS5 (si on sait coder en AS ) et sont gratuit !

        a+
    2. Contributeur
      Salut

      si tu galere avec le code vite fait que j avais mis plus haut !
      en voila un avec une barre de progression !

      import fl.controls.ProgressBar;
      import fl.controls.ProgressBarMode;
      
      var progressBar: ProgressBar = new ProgressBar(); //barre de progression
      progressBar.mode = ProgressBarMode.MANUAL; //Mode contrôle de la barre de progression
      
      // La barre de progression est centrée
      progressBar.x = (stage.width - progressBar.width) / 2;
      progressBar.y = (stage.height - progressBar.height) / 2;
      addChild(progressBar); //Affichage de la barre
      
      //Champ de texte pour le pourcentage
      var txtPourcent: TextField = new TextField();
      txtPourcent.autoSize = TextFieldAutoSize.LEFT;
      txtPourcent.x = progressBar.x;
      txtPourcent.y = progressBar.y + 30;
      addChild(txtPourcent);
      
      var conteneurImage: Loader = new Loader(); // création du conteneur de l'image
      // url de l'image à charger
      var image: URLRequest = new URLRequest("URL de TON.swf");
      
      // Le chargement est terminé
      function onComplete(evt: Event): void
      {
        //Suppression des infos de progression
        removeChild(progressBar);
        removeChild(txtPourcent);
        // affichage du conteneur
        addChild(conteneurImage);
      }
      // Progression du chargement
      function onProgress(evt: ProgressEvent): void
      {
        progressBar.setProgress(evt.bytesLoaded, evt.bytesTotal); //Valeurs de la barre
        txtPourcent.text = Math.round(progressBar.percentComplete) + "%"; //affichage du pourcentage
      }
      conteneurImage.intercontinentale.addEventListener(ProgressEvent.PROGRESS, onProgress); //Abonnement à l'événement PROGRESS
      conteneurImage.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); //Abonnement à l'événement COMPLETE
      // chargement de l'image dans le conteneur
      conteneurImage.load(image);


      Voila ce que ca donne !

      le fla pour CS5

      a+