Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: while getBytesTotal...
Envoyé: 7 juillet 2004, 14h11 par dada
Il y a beaucoup de choses qui ne vont pas dans ce code.
Le while pour vérifier le getBytesTotal ne peut pas marcher, il faudrait utiliser un enterFrame. La boucle while est extrèmement rapide et "court-circuite" le reste de l'animation.
De plus, à la 2° lecture de la boucle, le 'truc' (que tu utilises pour amorcer la boucle je suppose) est à 0; et le getBytesTotal est encore à 0, donc la boucle casse.
Ne pas cibler le getBytesTotal sur le jpg qui n'existe pas sur la scène (il n'est pas ciblable car sous forme de bitmap) mais sur le clip qui le contient.
La condition getBytesTotal()>0 n'est pas valide car avant de prendre la bonne valeur, getBytesTotal passe par 0 et -1 (un certain nombre d'images en fonction de la cadence IPS de l'anim).
Pour cette dernière raison, je ne vois comment faire marcher ce script. Flash ne permet pas de vérifier combien il y a de fichiers dans un répertoire, c'est pour çà que tu as bidouillé avec getBytesTotal(). Il faudrait mettre un compteur dans l'enterFrame qui laisse écouler un certain nombre d'images avant de vérifier si gBT>0. Bien que j'aime bidouiller, là je trouve que c'est un peu trop exagéré comme combine ;) Et incertain de plus, car le temps où gBt=-1 dépend entre autres de la puissance et occupation du serveur ou du PC exécutant le swf.
Si tu as MX2004, tu peux toujours essayer de te servir de la classe MovieClipLoader qui peut renvoyer une erreur si le fichier n'est pas trouvé, mais c'est toujours pas trop propre ;)
Sinon, si c'est un site que tu veux faire, il faudrait faire la vérification du nombre d'images sur le disque avec du php. Et si c'est pour exécuter en local, il faudrait encapsuler ton swf dans SwfStudio, ou utiliser un script Director (si c'est possible). Enfin, pour le faire proprement je vois pas d'autre solutions. Ou alors, il faut connaître le nombre d'images.
Mais si quelqu'un d'autre a une solution, je suis tout ouïe ;)
++
dada
Réponses
|