sinippe
Messages postés137Date d'inscriptiondimanche 24 avril 2005StatutMembreDerniè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"
cs_Felice
Messages postés9Date d'inscriptionvendredi 30 avril 2004StatutMembreDerniè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.
cs_Felice
Messages postés9Date d'inscriptionvendredi 30 avril 2004StatutMembreDerniè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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
sinippe
Messages postés137Date d'inscriptiondimanche 24 avril 2005StatutMembreDerniè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...
cs_Felice
Messages postés9Date d'inscriptionvendredi 30 avril 2004StatutMembreDerniè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.
cs_Felice
Messages postés9Date d'inscriptionvendredi 30 avril 2004StatutMembreDerniè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 !