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 :

[FLASH 8] Problème création Preloader


Sujet :

Flash

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut [FLASH 8] Problème création Preloader
    Bonjour,
    je vient de créer un site en flash que j'ai décomposé en 2 scènes dans flash 8. La prémiere scéne est intitulée "loader", la seconde "main" (qui contient le contenu du site). Alors vous l'avez compris la première scène est celle qui charge la seconde : c'est un preloader.
    Voici le code du preloader :

    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
    stop();
     
    myInterval = setInterval(preload,100);
     
    function preload() {
    	var current = _root.getBytesLoaded();
    	var total = _root.getBytesTotal();
    	var pctLoaded = Math.round(current/total*100);
    	pct_txt.text = pctLoaded;
     
    	if (current >= total)
    	{
    		gotoAndStop("main",1);
    		clearInterval(myInterval);
    	}
    }
    Explications :

    - "var current" est la variable dans laquelle on stock le nombre de Bytes chargé en mémoire.

    - "var total" est la variable dans laquelle est stocké le nombre total de bytes de l'animation à charger.

    - "var pctLoaded" est la variable qui calcule le pourcentage de bytes chargés.

    - "pct_txt.text = pctLoaded;" : Ceci sert à remplacer la valeur du texte "pct_txt" (en fait c'est un nombre) par le pourcentage de bytes chargés ("pctLoaded") pour afficher par exemple :
    "10, 20, 50, 70, 82, 93, 100 chargé."

    Donc aprés avoir mis ce code, j'ai tester mon animation (Ctrl+Enter) j'ai choisi "DSL" dans : Affichage > Paramétre de téléchargement, puis j'ai cliqué sur Simuler le téléchargement en ayant pris soin d'activer "le testeur de bande passante". Normalement cela devrais m'afficher ma scéne loader avec écrit :
    10, 20, 22, 36, 48, 70, 100 effectué puis ensuite m'afficher ma seconde scène c'est à dire "main"

    Au lieu de ça j'ai seulement ma couleur de fond de la scène loader qui s'affiche, puis vers les 90% de chargement (vu avec le testeur de bande passante) mon texte de chargement s'affiche, il arive à 100% puis il m'affiche la scène "main" ce qui est normal.

    Donc je voudrais savoir pourquoi quand je teste ma scène "loader" il s'affiche que ma couleur de fond pendent 90% de téléchargement et que seulement à ces 90%, le texte de chargement s'affiche ???

    Merci de votre aide,
    Cordialement,
    Makak_du_27.

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    C'est normal, ton clip doit être trop léger.

    Sinon tu peux utiliser onEnterFrame, c'est plus propre que setInterval, ou encore mieux, utiliser le clip principal comme loader et ainsi appeler du contenu dedans, tu auras ainsi accès à onLoadProgress() qui est une méthode plus précise que toutes celles citées plus haut.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Merci de ta réponse Shinuza, j'ai quelques questions à te poser :
    Quel clip est trop léger ? (loader et main sont des séquences)
    Donc si c'est ça la réponse il faut rendre ce clip plus lourd (de combien, comment) ?

    Merci,
    Cordialement,
    Makak_du_27.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    En reprenant le nom de tes variables, moi je fais comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    onEnterFrame= function() {
    var current = _root.getBytesLoaded();
    var total = _root.getBytesTotal();
    var pctLoaded = Math.round(current/total*100);
    pct_txt.text = pctLoaded;
     
    if (current >= total)
    {
    gotoAndStop("main",1);
    delete onEnterFrame;
    }
    }
    stop();

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Merci de ta réponse titifrim, mais cela n'a rien changé : Toujours rien au 95% de chargement puis après le texte s'affiche.
    Décidement ce probléme est vraiment indestructible !

    Merci,
    Cordialement,
    Makak_du_27

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Bah rien ne vaut un test en réel sur le web, si tu veux voir ce que ça rend avec différentes connexions utilise un soft du style NetLimiter pour régler la bande passante et effectuer des simulation. Sinon pour le problème des 90% tu n'as pas des éléments de bibliothèques liés pour actionscript car il faut savoir que dans ce cas ils se chargent sur la première image et peuvent fausser la prévisualisation quand tu la lances depuis Flash. Pour ma part je ne lance plus cette commande, je regarde directement dans le navigateur, on est moins déçu.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    ok je vais essayer je te tiens au courant.

    Merci,
    Makak_du_27

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Re Titifrim,
    le test en direct sur le net n'a rien donné de bien satisfaisant : toujours le même problème ! Et pour les éléments de la bibliothèques liés pour actionscript comment je fais ? Il faut que je les vérifie 1 par 1 ? Mais de toutes façon je ne crois pas je j'ai mis une quelquonque action sur un élément de la bibliothèque.

    Merci,
    Chao,
    Makak_du_27

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Le truc à savoir c'est que lorsque des éléments de bibliothèques sont liés pour actionscript (pour le vérifier clic droit sur un clip de la bibliothèque et voir si l'option est cochée) ces derniers se chargent dans la première image de la scène, et bien souvent avant que le preloader lui-même ne se charge... c'est bien pour cela qu'un bon preload efficace de façon universel ne doit tenir que sur une seule image clé et la première de la scène 1. As-tu vérifé ces différents points ?

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Salut titifrim,
    Voila j'ai trouvé un élément lié : une musique ("Sur le net"). Alors voila je l'ai délié et cela a résolu le problème mais maintenant, un second probléme survient : cette musique faisait parti d'un player : voici son code :

    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
    var song_sound:Sound = new Sound();
    Musique_text_mc.Sur_le_net_ecouter.onRelease = function  () {
    song_sound.attachSound("Sur_le_net");
    Aucun_titre._visible = false;
    createTextField("my_txt", 1, 670, 72, 100, 30);
    my_txt.multiline = true;
    my_txt.wordWrap = true;
    var my_fmt:TextFormat = new TextFormat();
    my_txt.text = "Sur le net";
    my_txt.setTextFormat(my_fmt);
     
    }
    Player_entier.Play_btn.onRelease = function() {
        song_sound.stop();
    	song_sound.start();
    };
    Stop_btn.onRelease = function() {
        song_sound.stop();
    };
    Voila aurais-tu une solution pour délié cette musique tout en la laissant faire parti du player et qu'elle soit fonctionnelle ?

    Merci beaucoup,
    Cordialement,
    Makak_du_27

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    Pourquoi ne désolidariserais-tu pas (plus facile à ecrire qu'à dire ce truc ) le player avec la musique du reste de l'anim, tu pourrais ainsi la loader en externe avec un loadMovie(); ou loadMovieNum();
    Avec ma technique de preload plus haut tu ne devrais en principe pas avoir de soucis si tu mets le code sur la premiere image clef, chez moi ça marche à tous les coups même avec des éléments liés. Avant de réaliser ce type de chargement je bidouillais en créant 3 scènes, la première contenait le preload; la seconde contenait les éléments liés que je disposais en vrac sur la scène en ayant pris soin de décocher "Exporter dans la premiere image" et la troisième scène contenait le reste. Le preload bien evidemment se rendait à la scène 3 sans passer par la 2 dès quand le téléchargement était complet... il te reste aussi cette soluce.

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Merci Titifrim,
    mais que veux-tu dire par "désolidariserais" ?Aurais-tu un exemple ???

    Merci à toi,
    Makak_du_27

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 16
    Points : 18
    Points
    18
    Par défaut
    J'entendais juste par là : placer le player avec le son dans une nouvelle anim c'est tout. Comme ça ça ne perturbe pas ton anim principale et puis en supposant que tu fasse un loadMovieNum("tonplayer.swf",1); tu peux réaliser un preload dans ton flash principale dédié au niveau 1 ex :

    var encharge=_level1.getBytesLoaded();
    var total=_level1.getBytesTotal();

    etc...

  14. #14
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Merci encore une fois Titifrim mais y a t'il une méthode qui remplace attachsound ? et qui ne li pas un élément ?? En fait pourrais-tu me donner plus d'informations sur le niveau 1 stp ?

    Merci beaucoup,
    cordialement,
    Makak_du_27

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Up

  16. #16
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 1
    Points
    1
    Par défaut
    Double-UP

Discussions similaires

  1. [FLASH 8] Problème de preloader
    Par SnowCraft dans le forum Flash
    Réponses: 7
    Dernier message: 09/04/2007, 19h37
  2. [FLASH MX] Problème chargement/preloader
    Par Gwenouille dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 26/04/2006, 14h03
  3. Réponses: 5
    Dernier message: 30/03/2006, 15h52
  4. Réponses: 1
    Dernier message: 11/07/2005, 13h08
  5. Problème création de DLL
    Par monsieur.voie.lactee dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/08/2003, 17h56

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