Prechargement d'une partie de l'animation

cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010 - 4 févr. 2005 à 02:55
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009 - 4 févr. 2005 à 13:21
bonjour,
j'aimerais savoir comment faire pour precharger une partie de l'animation avec une barre de chargement.


j'ai trouvé ce script sur flashfrance pour cela, mais il me precharge toute l'animation
<HR>
// on définit les variables donnant le nombre total de Bytes ,
// de Bytes chargées et le rapport entre les deux , de l'animation
_root.bytes_totales = _root.getBytesTotal();
_root.bytes_chargées = _root.getBytesLoaded();
// taux de chargement
_root.bytes_rapport = Math.round((_root.bytes_chargées)/(_root.bytes_totales)*100);
// Affichage du pourcentage de Bytes chargés
_root.barre_bas.bytes_chargement_affichage ="[ Chargement " add Math.round(_root.bytes_rapport) add " % ]";
if (_root.bytes_rapport == 100) {
_root.play();
};
_root.barre_chargement_bytes.gotoAndPlay (_root.bytes_rapport);
<HR>


Alors comment dois-je m'y prendre,avec ce principe, si par exemple je veux que ma sequence se joue uniquement une fois que les images 1 à 6 du clip mon_animation sont chargées


merci de votre aide

10 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
4 févr. 2005 à 12:08
étudie la fonction _framesloaded

Et n'oublie pas d'aller voir dans le dico de Flash avant d'aller poser des questions

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
4 févr. 2005 à 12:12
oui ... je connais frameload ....
mais ce que je veux C une barre de prechargement avec pourcentages

merci
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
4 févr. 2005 à 12:17
non, non, attends ... "ce que je veux" ... ben tu prends ton courage à 2 mains, tu étudies les fonctions et tu fais en sorte de sortir ce que tu veux ...

Apparement tu n'as pas compris le fonctionnement de ce forum.
Ici, on AIDE, on ne fait pas A LA PLACE !!!

Sinon, tout travail mérite salaire .. et donc, tout programme fait pour toi devra être payés !

Tu saisis la différence ?

Peg'
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
4 févr. 2005 à 12:25
La solution la plus simple
pour du 'streaming-like', (pas de frameloaded SVP, c'est moche, et
c'est du flash4), c'est de faire dans un premier temps un test de bande
passante avec modem 56K (ctrl-entrée, ne pas oublier d'afficher la
bande passante dans le menu 'afichage', puis ctrl-entrée à nouveau)
dans flash pour regarder quel pourcentage de l'anim est chargé à
l'image 6 de ton anim.

Une fois que tu l'as, rajoute 5% pour eviter le lag eventuel qui peut arriver sur ton serveur (on ne sait jamais).



Et ce pourcentage, tu l'appliques à cette ligne de ton code (les modifs sont en rouge) :



if (_root.bytes_rapport >= POURCENTAGE_POUR_IMAGE_6) {

_root.play();

};



Et voila, tu as réussi ton premier streaming_like!
0

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

Posez votre question
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
4 févr. 2005 à 12:27
je ne demande pas a ce qu'on fasse mon code, je veux simplement savoir si c'est possible !
et si oui avoir de l'aide (un guide) ... et non pas avoir un code tout cru dans la bouche !

je sais qu'on peut fragmenter le nombre de bytes de l'animation _root.getBytesTotal()/2; mais l'ideale serait de pouvoir recuperer le nbr de bytes du mc


voilou
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
4 févr. 2005 à 12:30
Tom, je ne suis pas certain que ton principe fonctionne s'il y a encore des modifications du swf en cours ... Mais il fonctionnera si on ajoute tout celà à la fin.

Peg'
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
4 févr. 2005 à 12:43
reflexion peut etre idiote... oui mais si je fais du stremaing_like et que mon mc est chargé a 40%
ca donnera :
if (_root.bytes_rapport == 40) {
play();
}
mais on ne verra pas 100%
nan?
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
4 févr. 2005 à 12:58
Deja, ce n'est pas == 40, c'est >=40 , et oui, c'est une reflexion
idiote. Le flash à la base fonctionne comme du streaming, donc, il
continuera à charger le reste pendant que le début tourne. Bien
evidemment, il faut faire des tests pour voir si il n'y a pas de lag
durant tout le reste de l'animation (donc oui peg, c'est le genre de
truc que l'on fait quand l'anim est finalisée si j'ai bien compris ta
question). Cette methode je l'ai éprouvé à maintes reprises, et c'etait
à chaque fois le bonheur pour mes clients (du genre "comment vous avez
fait pour chager 75Ko, alors que l'anim fait 350?" "Ah! Secret
professionnel, m'sieur!").
0
cs_attentio Messages postés 167 Date d'inscription mardi 20 janvier 2004 Statut Membre Dernière intervention 24 mai 2010
4 févr. 2005 à 13:02
et ceci vous en pensez quoi ?

LOADED = Math.round(getBytesLoaded());
TOTAL = 101012; // nb de bytes sur l'image 3
PERCENT = (LOADED/TOTAL);
TEXT = Math.round(PERCENT*100)+"%";
ifFrameLoaded (3) {
gotoAndPlay(3);
}

merci
0
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
4 févr. 2005 à 13:21
Dans ton exemple, le frameloaded n'a plus lieu, puisque tu fais un chargement jusqu'a l'image 3.

Mais enfin, un peu de logique, que diable!
0
Rejoignez-nous