IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Système de préchargement particulier


Sujet :

Flash

  1. #1
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut Système de préchargement particulier
    Bonjour à tous.
    Voila, je réalise actuellement un site web en flash, et sur chaque frames, j'ai une image d'arrière-plan différente.
    J'ai pensé utiliser un MovieClipLoader pour ces images (il y en a 3), que je met à la toute premiere frame. Cette premiere frame est en fait une page qui indique le chargement du SWF. Dans mon écouteur.onLoadStart, je récupere la taille de chaques fichiers, et j'additionne tous les fichiers dans une même variable générale pour avoir la taille totale pour la durée du chargement (et ensuite je gere la progression dans l'evenement approprié)

    Mon soucis, c'est que flash ne lance pas réellement les trois chargement à la suite (malgré que je met ces trois fichiers à la suite), donc la taille total varie, ca débute avec la taille du premier, puis la taille du deuxieme, puis le troisième, et ce durant le téléchargement du premier, ce qui veut dire que mon % fait quelque chose du genre 0, 10, 5, 2, 3, 4, 5, 6, ... vous comprenez ?

    De plus, j'aimerai prendre en compte la taille du fichier swf lors du chargement, afin d'etre correct au niveau du pourcentage de chargement.

    Le soucis, c'est que ces 3 images allant dans 3 frames différentes, j'utilise des emptyMovieClip et dans les différentes frames, je spécifie le _visible = bool pour afficher celle que je veux. N'y aurait-il pas une méthode plus simple pour dire "je met cette image sur la frame X, sur le calque "xxxxx" ?

    Je suis ouvert à toute nouvelle proposition pour simplifier la démarche !

    Merci beaucoup de votre aide !

    Voici le code que j'utilise pour les images :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    stop();
     
    var Bg1Len:Number = 0;
    var Bg2Len:Number = 0;
    var Bg3Len:Number = 0;
    var BgTotalLen:Number = 0;
     
    var BGListen:Object = new Object();
    var BgroundMCL:MovieClipLoader = new MovieClipLoader();
     
    this.createEmptyMovieClip("Background1", -16532);
    this.createEmptyMovieClip("Background2", -16531);
    this.createEmptyMovieClip("Background3", -16530);
     
    BgroundMCL.addListener(BGListen);
    BgroundMCL.addListener(BGListen);
    BgroundMCL.addListener(BGListen);
     
    BgroundMCL.loadClip("./images/zip.png", "Background1");
    BgroundMCL.loadClip("./images/accueil-image.png", "Background2");
    BgroundMCL.loadClip("./images/pages-image.png", "Background3");
     
    BGListen.onLoadComplete = function(target_mc:MovieClip) {
        if (target_mc == _level0.Background1) {
            target_mc._visible = true;
            gotoAndPlay(1);
        }
        else {
            target_mc._visible = false;
        }
     
    };
     
    BGListen.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
        var progression:Object = BgroundMCL.getProgress(target_mc);
     
        if (target_mc == _level0.Background1) Bg1Len = progression.bytesLoaded;
        else if (target_mc == _level0.Background2) Bg2Len = progression.bytesLoaded;
        else if (target_mc == _level0.Background3) Bg3Len = progression.bytesLoaded;
        var totalTmp = Bg1Len + Bg2Len + Bg3Len;
        if (totalTmp == BgTotalLen && totalTmp > 0) {
            trace ("load complete");
        }
    }
     
    BGListen.onLoadStart = function(target_mc:MovieClip) {
        var progression:Object = BgroundMCL.getProgress(target_mc);
        BgTotalLen += progression.bytesTotal;
        trace (" ===== > " + BgTotalLen);
    }
    Merci pour votre aide

  2. #2
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Bonjour a tous,

    Ettant donné que tu charge l'animation d'un coup pour permetre la navigation. Pourquoi ne pas mettre en "dur" les image de fond ?
    Utilise getBytesLoaded() pour savoir quand l'animation est charger, ou sinon laisse faire le systeme ( le stream intrinsec de fash )

  3. #3
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut
    tu entends quoi par "en dur" ?

  4. #4
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    j'entend par "en dur", le fait de poser les image directement sur la scene

  5. #5
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut
    ok
    le soucis c'est qu'elles sont assez lourde ... chuis un peu coincé, entre charger l'image ou tout mettre en effet ... au final ce serait pareil, sauf que sur la scene, j'aurai dejà la taille de tous le swf. Oué, interessant !!

    Juste pour savoir, admettons que j'aie 5 frame, la premiere, c'est l'écran qui dit "chargement", et pour les 4 autres, j'ai une image dans chaques frames.
    Flash va d'abord me charger la frame 1, puis 2 puis 3, etc ou il va tout charger n'importe comment ?
    Ce que je veux dire par là, c'est que si j'attends que la frame 2 soit chargé, je pourrai y aller, sans attendre que les autres seront chargées, non ?

  6. #6
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Flash va d'abord me charger la frame 1, puis 2 puis 3, etc [...]
    Ce que je veux dire par là, c'est que si j'attends que la frame 2 soit chargé, je pourrai y aller, sans attendre que les autres seront chargées[...]
    T'as tout compris
    Le seul probleme c'est que si l'utilisateur veux allé de la frame 2 a la frame 4 il devra attendre le chargement de la frame 3.

  7. #7
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 127
    Points : 71
    Points
    71
    Par défaut
    Okay cool !
    Bah en fait c'est un suivi linéaire je dirai.
    La frame 1 c'est le loader
    La frame deux, c'est l'intro
    la frame trois l'accueil et le menu
    la frame 4 les différentes pages
    (la page intro, et accueil ont une image différente, toutes les autres pages ont la meme images (qui est différente des deux premieres))
    Donc ca devrait aller
    Jvais voir ca !

    Merci de ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/02/2012, 12h07
  2. Système de tags un peu particulier
    Par Overstone dans le forum Langage SQL
    Réponses: 7
    Dernier message: 11/07/2010, 19h59
  3. Système d'équation de matrices un peu particulier
    Par CarolinePeroni dans le forum Mathématiques
    Réponses: 3
    Dernier message: 18/01/2010, 16h35
  4. [Système] Lien valide pour contexte particulier
    Par hpl76 dans le forum Langage
    Réponses: 3
    Dernier message: 12/01/2007, 17h34
  5. Système d’incrémentation particulier
    Par pascal913 dans le forum Access
    Réponses: 12
    Dernier message: 29/06/2006, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo