Prechargement en flash

samghami Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
RAD ZONE Messages postés 5362 Statut Contributeur -
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

  1. ofoif
     
    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
    0
  2. RAD ZONE Messages postés 5362 Statut Contributeur 1 360
     
    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+
    0
    1. ofoif
       
      Flash 8 c'est AS2.
      0
    2. samghami Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   1
       
      Si besoin j'ai flash CS5
      0
    3. RAD ZONE Messages postés 5362 Statut Contributeur 1 360
       
      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+
      0
  3. RAD ZONE Messages postés 5362 Statut Contributeur 1 360
     
    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+
    0