Prob de Preloader

Résolu
cs_Felice Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 5 septembre 2005 - 3 sept. 2005 à 22:57
sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008 - 5 sept. 2005 à 15:13
Ma séquence de préchargement est nomée prechargement(séquence 1)
ma séquence 2 est nomée intro (celle qui contient l'animation).


dans la séquence 1 je met dans le prmier calque a la première image ce script :

if (_framesloaded >= 480) {
gotoandplay ("intro",1);
} else {
gotoandplay (1);
}

dans le second calque je met un clip pour l'image de chargement dans l'image 1.

mon intro fait 478 image au complet.

Pour se qui est du script il est au complet. je ne sais pas si il est fiable car je ne mi connais pas en action script....

Aidez moi svp ! ou donnez moi un autre script

8 réponses

sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
5 sept. 2005 à 15:13
Juste un dernier truc : si tu dois faire un preloader, fais en
sorte qu'il n'y ait rien d'autre que les éléments tels que texte
dynamique et progress bar sur ta frame. J'veux dire, un loader doit
être léger ; s'il met autant de temps que ce qui suit à charger, il n'a
pas lieu d'être.

Pour ce qui est du "préload externe", comme tu dis, tu peux faire comme ça :

- tu crées un clip vide, que tu places sur la scène et que tu appelles "vide"

Puis tu mets :

vide.loadMovie("intro.swf");

et ton loader aec "vide.getBytesTotal" et "vide.getBytesLoaded"

Sinon tu vas tout simplement voir là : http://www.yazo.net/pages_flash/actionScript12.html#01

Y a tout c'que t'as à savoir sur le préchargement, avec en +
l'affichage du pourcentage et la progress bar. C'est beaucoup + con
qu'ça en a l'air.

Bon courage !
3
cs_Felice Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 5 septembre 2005
3 sept. 2005 à 23:00
au fait le gros prob c'est que qd je clique sur le lien rien ne se passe (sa charge mais sur la page html) et puis le loader se met 1 seconde et l'intro démare...
donc le préchargement ne sert a rien puisque l'on a l'impression que ca ne marche pas lorsque l'on clique sur le lien de la page html.
0
sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
5 sept. 2005 à 11:02
Je pense que ton pb, c'est que ça boucle pas. Essaie de remplacer ton code (sur l'image 1) par :

if(_root.getBytesLoaded() == _root.getBytesTotal()) {

gotoAndPlay("intro",1);

}

else {

gotoAndPlay(2);

}

Et sur ton image 2, tu lui dis juste "gotoAndPlay(1);"

En espérant que ça t'ait éclairé...



Euh au fait, si ça marche pas avec "_root", essaie "this".
0
cs_Felice Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 5 septembre 2005
5 sept. 2005 à 11:20
merci mais ca ne fonctionne pas comme ca...

je vais expliquer mon problème encore une fois car j'ai encor changé de script entre temps...


Voila j'ai un gros problème de préload ! j'ai déjà cherché et essayé plusieurs solution en vain!


je ne mis connais pas en action script donc je demande de l'aide.


mon animation fait 1200 Ko ce qui est déjà trop lourd....





J'ai testé un système de preload dans une séquence avant l'animation dont le code était :


stop();


total = _root.getBytesTotal();


_root.onEnterFrame = function() {


charge = _root.getBytesLoaded();


part = charge/total;


if (part == 1) {


delete _root.onEnterFrame;


gotoAndplay("intro",1);


}


};


mon intro commence donc après etre completement chargée. Mais cela ne m'avance à rien puisque quand je clique sur le lien de ma page Html pour ouvrir mon fichier swf. il ne se passe rien... il faut attendre longtemps pour que le fichier swf se charge en réalité.


je suis tombé sur la solution de créer un autre fichier swf qui chargerait mon autre fichier (intro.swf) avec une progressbar et un preload.


Il sagit du mode event :


je met donc le composant Progress Bar sur la scène que je nome pbar


et je lui met la source loader.


je met ensuite le composant loader sur la scene que je nome loader et je met dans contentpath le nom de mon fichier swf (intro.swf).


je créer ensuite un autre calque dans lequel je met l'action script suivant :


// création d'un event pour le loader


myLoaderListener = new Object();


myLoaderListener.complete = function ( eventObject ) // Lorsque le loader est complet


{


pbar._visible = false; // on rend la progress bar invisible


}


loader.addEventListener("complete", myLoaderListener); // on écoute l'objet


ce script vient donc du tuto ou j'ai trouvé cette marche a suivre.


Alors quand je teste la barre de progresseion à l'air de fonctionner mais avant que le chargement ne soit terminé on entend l'animation qui se lance déjà et a la fin du chargement l'animation s'affiche mais elle a donc déja commencé depuis quelques secondes !!!


Et en plus de tout ca l'animation ne s'affiche pas correctement (la taille) mais ca c'est un problème du loader je pense.


J'espère avoir été compréhensible ! aidez moi svp je ne sais plus quoi faire pour avoir un preloader correcte !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
5 sept. 2005 à 11:40
"mon intro commence donc après etre completement chargée. Mais cela ne
m'avance à rien puisque quand je clique sur le lien de ma page Html
pour ouvrir mon fichier swf. il ne se passe rien... il faut attendre
longtemps pour que le fichier swf se charge en réalité."



J'voudrais revenir là dessus :

- "mon intro commence donc après etre completement chargée" > si je comprends bien, c'est c'que tu voulais, non ?

- "il faut attendre
longtemps pour que le fichier swf se charge en réalité" > bah c'est
normal, en fait. C'que tu peux faire, c'est garder cette méthode et
rajouter un texte dynamique qui t'affichera le pourcentage, histoire de
pas avoir à glander devant une anim vide pendant que ça charge...

Si t'as des pb pour l'faire, n'hésite pas...
0
cs_Felice Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 5 septembre 2005
5 sept. 2005 à 11:48
désolé c'est vrai que ce n'est pas forcément clair !!!

quand je test avec ce script la :
stop();


total = _root.getBytesTotal();


_root.onEnterFrame = function() {


charge = _root.getBytesLoaded();


part = charge/total;


if (part == 1) {


delete _root.onEnterFrame;


gotoAndplay("intro",1);


}


};

dans flash en simulant le téléchargement ca fonctionne parfaitement. l'animation commence après etre chargé.
Mais ! quand je la met sur le net, je clique donc sur le lien qui ouvre mon fichier intro.swf et la rien ne se passe, il faut attendre (le chargement se fait sans afficher le preload,la page html reste affichée) puis enfin on vois 1 seconde le préload (j'ai déjà une animation d'attente au fait ;) ) et l'animation se lance...
Donc le prob c'est qu'on dirait que le lien de ma page html est mort !c'est pour ca que je pense qu'il faut un preload externe comme je l'explique plus haut. Mais j'ai quelque probleme a le réaliser.
0
sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
5 sept. 2005 à 12:18
Ok, j'crois que j'ai à peu près compris ton problème :)

C'qui se passe, c'est que ton fichier charge le tout sauf ton anim d'attente, donc...

D'après moi, 2 solutions s'offrent à toi :

1) charger "intro.swf" dans un autre fichier, comme tu le suggérais, avec, pourquoi pas, la même méthode

2) ajouter dans ta séquence1 un loader pour ton anim de préload

C'est à dire :

étape 1 : seq1, frame1 : loader de la séquence 1 (this.getBytesTotal(), etc...)

Une fois que la seq1 est lue,

étape 2 : seq1, frame2 : loader de la suite (celui que tu as déjà)

J'dois avouer que j'avais déjà eu des problèmes pour charger un projet
qui comporte plusieurs séquences, dont une est consacrée au preload.

Si t'y arrives vraiment pas, tu peux me transmettre ton fla, je testerai...

V'là mon mail : ottenwaelter@zenon-media.com
0
cs_Felice Messages postés 9 Date d'inscription vendredi 30 avril 2004 Statut Membre Dernière intervention 5 septembre 2005
5 sept. 2005 à 13:36
Je te remercie bcp pour ton aide !
Mais meme avec cette méthode la ca ne fonctionne pas! et comme je n'arrive pas a faire fonctionner le préload externe comme je l'ai expliqué plus haut...

J'ai donc pris la méthode la plus simple j'ai crée une nouveau swf avec le comportement "chargement d'un clip externe" (intro.swf) dans la frame 1.
J'ai donc changé mon lien html qui tombe maintenat sur ce fichier swf de 1Ko.
Ce fichier charge instantanément le fichier intro.swf ou le simple préload de la séquence 1 fonctionne alors très bien !

J'en conclus donc que le préload ne sert à rien si il est activé par un lien html !
Il faut donc créer un préload externe.
Ca fonctionne de la manière que je l'ai fait mais pour ceux qui savent comment réaliser un préload externe avec progressbar je pense que c'est bien mieux !


Si vous savez l'expliquer....


Tout mes remerciements à Sinipe !!!
0
Rejoignez-nous