Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/03/2008, 22h41   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 236
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 236
Points : 40
Points : 40
Par défaut Probleme de préloader

Bonjour à tous,

J'ai fais un preloader sur mon anim, seulement, il ne se lance qu'a la fin du chargement.

Je ne comprend pas pourquoi.

Voici le site concerné:

http://marie.curie.school.free.fr/visite.html

Voici mon code préloader:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
stop(); //arrêt du scénario
 
myInterval = setInterval(preload,100); // création d'une intervalle où la fonction est appelée preload
 
function preload() { //ici, on défini ce que fait la fonction preload
        var current = _root.getBytesLoaded(); //la variable current va être égale au nombre d'octets chargés
 
        var total = _root.getBytesTotal(); // la variable total va être égale au nombres d'octets qu'il y a à charger
 
        var pctLoaded = Math.round(current/total*100); //notre variable pctLoaded sera une équation mathématique. Le calcul donne notre pourcentage
 
        pct_txt.text = pctLoaded; //pct_txt, soit notre "100" où pct_txt est le nom d'occurence, sera un texte qui sera égal à pctLoaded, donc notre pourcentage
 
        loaderbar._xscale = pctLoaded; //Ici, la longueur de notre barre s'allonge sur l'axe des X selon le pourcentage
 
        if (current == total) { // si tous les octets sont chargés (c'est la condition)
                gotoAndPlay("main",1); // Va jouer notre séquence "main", notre animation
                clearInterval(myInterval); //et supprime l'intervalle
        } //fermeture de notre condition
 
} //fermeture de notre fonction
 
preload();
Dev@lone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2008, 01h39   #2
Membre du Club
 
Inscription : novembre 2007
Messages : 236
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 236
Points : 40
Points : 40
Je n'ai toujours pas trouvé de solution.

J'ai actuellement testé avec différentes connexion, mais sa ne change rien.

Même avec une connexion très très lente, rien y fais.

Je pense que le problème viens du fait que le préloader ne fais le chargement de bytes que de lui même. Mais je ne vois pas comment récupérer les bytes de l'autre séquence.
Dev@lone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2008, 19h00   #3
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 233
Points : 2 233
Salut à vous,

le mieux est de passer par un preloader externe, c'est à dire une autre animation Flash de poids très faible qui s'occupe uniquement du chargement du site. (par exemple avec la classe MoviClipLoader)

dans le cas où le chargement est fait dans la même animation il ne démarre que lorsque le contenu de la biblothèque est chargé. (par exemple les images ou les clips dont la propriété "exporter dans la première image" est cochée)
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2008, 21h26   #4
Invité régulier
 
Inscription : août 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 19
Points : 7
Points : 7
Bonjour à vous tous,

J'ai exactement la même préoccupation. Mes savoirs étant limités avez vous un exemple ?
cepillo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2008, 21h57   #5
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 233
Points : 2 233
voila un exemple mais il y a pas mal d'infos sur internet ..

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    var mcl:MovieClipLoader = new MovieClipLoader(); //gestionnaire du chargement
    var ecouteurChargement:Object = new Object(); 
    ecouteurChargement.onLoadProgress = function(target:MovieClip, loaded:Number, total:Number):Void
    {
            var nRatio:Number = loaded/total;    
            trace("chargement : " + nRatio);
    };
    ecouteurChargement.onLoadInit = function(target:MovieClip):Void
    {
        trace( "chargement terminé" );
    };
 
    mcl.addListener(ecouteurChargement);
    mcl.loadClip("Site.swf", this.createEmptyMovieClip("container", this.getNextHighestDepth()));
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2008, 14h35   #6
Invité régulier
 
Inscription : août 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 19
Points : 7
Points : 7
Bonjour Beekeep,

Merci de ta réponse. Effectivement, on troue beaucoup de codes : cela fait 4 jours que je cherche des informations.

Mon problème c'est qu'une fois que tu as le code, tu fais quoi : simple vous allez me dire mais pour un gros débutant ( ) il faut souvent du pas à pas. Or on ne vous montre ou explique peu comment faire le côté " graphique " du preload.

J'ai même trouvé des codes ou l'image du preload demeure sur leur swf de démonstration.

Merci de ton aide précieuse. A bientôt.
cepillo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2008, 15h20   #7
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 233
Points : 2 233
bonjour cepillo,
Citation:
Envoyé par cepillo Voir le message
on ne vous montre ou explique peu comment faire le côté " graphique " du preload.
tu aura remarqué la fonction onLoadProgress qui s'exécute à chaque évolution du chargement,
les paramètres de cette fonction permette de calculer le pourcentage chargé.
avec ce chiffre tu peux l'indiquer dans une champ texte, fixer la taille d'une barre de progression etc ..
mais on peut aussi limiter la partie graphique à un simple clip qui tourne sans se soucier du pourcentage chargé.

la partie graphique relève plus de la manipulation de clip que du chargement,
avec le code que j'ai mis en exemple on peut faire ensuite de différentes façons.
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2008, 15h27   #8
Invité régulier
 
Inscription : août 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 19
Points : 7
Points : 7
Bonjour beekeep,

je m'en suis sorti avec l'aide de nombreux exemples pour la partie preload pur.

Mais j'ai quand même un souci : la page introductive avec nom du site, bouton pour entrer dans le site ect... demeure. Je ne sais pas comment rafraîchir la page avec l'arrivée du clip principale.

J'espère être clair. Sinon je peux envoyer un swf ou fla.

A bientôt,
cepillo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2008, 15h29   #9
Membre actif
 
Inscription : juillet 2002
Messages : 147
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 147
Points : 155
Points : 155
pour le faire disparaitre tu peux mettre un alpha=0, ou un x négatif, ou un removeChild (en AS3)
bonnafb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2008, 15h32   #10
Invité régulier
 
Inscription : août 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 19
Points : 7
Points : 7
Merci bonnafp de ta réponse,

Peux tu m'expliquer un peu ou et à quel endroit le mettre. J'ai essayé avec _alpha=0 mais du coup même le swf principal chagré n'apparaît plus.
Merci et à bientôt,
cepillo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2008, 15h42   #11
Membre actif
 
Inscription : juillet 2002
Messages : 147
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 147
Points : 155
Points : 155
tu peux par exemple faire ça quand ton chargement arrive à 100%
bonnafb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2008, 15h47   #12
Invité régulier
 
Inscription : août 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 19
Points : 7
Points : 7
Merci bonnafp mais je n'y arrive pas, j'ai toujours le même problème.
cepillo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2008, 16h18   #13
Membre actif
 
Inscription : juillet 2002
Messages : 147
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 147
Points : 155
Points : 155
désolé je ne connais que l'AS3, mais en gros, si AS2 fonctionne de façon similaire, ton preloader est un movieClip et ce que tu charges en est un autre, donc une fois chargé on fait disparaître le premier (preloader).
Il semble que tu as un movieClip unique, donc si tu mets l'alpha à 0 tu mets tout à 0 et tu ne vois plus ce qui vient d'être chargé
bonnafb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2008, 19h36   #14
Invité régulier
 
Inscription : août 2008
Messages : 19
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 19
Points : 7
Points : 7
Bonsoir bonnafp,

Sais tu comment je peux faire alors puisque tu arrives à la même conclusion que moi concernant alpha ?
Merci de ton aide.


Ajout :

J'ai trouvé et je donne donc la solution :

nomdeloccurence_visible = false;
cepillo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h39.


 
 
 
 
Partenaires

Hébergement Web