Atteindre la fin d'une anim pendant un loader

patrickart Messages postés 24 Date d'inscription dimanche 6 septembre 2009 Statut Membre Dernière intervention 2 juillet 2010 - 2 juil. 2010 à 10:54
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 2 juil. 2010 à 18:38
Bonjour je cherche je cherche mais je trouve pas, j'ai une anim placé dans un clip "animload" et un loading placé sur la scène

myInterval = setInterval(preload,100);

function preload() {
var current = _root.getBytesLoaded();

var total = _root.getBytesTotal();

var pctLoaded = Math.round(current/total*100);

pct_txt.text = pctLoaded;

loaderbar._yscale = pctLoaded;

if (current == total) {
nextScene();("main",1);
clearInterval(myInterval);
} //fermeture de notre condition

}

je n'arrive pas peut être avec un if ? j'aimerai que l'internaute même si il a une très bonne connexion et que donc le laoding va très vite voit la fin de l'anim.
merci beaucoup, et j'ai cherché avant mais je pense que je ne dispose pas des bons mots clés ...

1 réponse

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
2 juil. 2010 à 18:38
Hello,

tout dépend de la durée de ton animation "animload", car le fait est que d'un utilisateur à un autre, en fonction de sa connexion plus ou moins bonne, le swf sera plus ou moins vite chargé, alors que l'animation "animload" elle sera toujours jouée à la même vitesse !
Si ton animation est constituée de plusieurs frames, il te faut créer une fonction pour définir par exemple un ratio qui stipulerait quand passer d'une frame à l'autre, et ce en fonction du temps de chargement du swf d'une connexion à une autre, donc il te faudrait aussi "pister" la connexion de l'utilisateur lambda afin de pouvoir t'en servir pour définir le ratio (ratio qui servirait dans un intervalle).
Autrement il ya urait plus simple mais peut-être moins "fiable" pour la fluidité de l'animation "animload" ; tu peux jouer ton animation en fonction du pourcentage chargé, toujours en définissant un ratio par rapport au nombre de frames de l'animation "animload", du genre :

//là tu récupères le nombre de frames de ton clip animload :
var NbFramesAnimLoad:Number = animload._totalframes;
//tu calcules "Ratio" par rapport à 100(%) et "NbFramesAnimLoad":
var Ratio:Number = 100/NbFramesAnimLoad;

//tu lances un onEnterFrame pour charger le swf :
this.onEnterFrame = function(){
var current:Number = _root.getBytesLoaded();
var total:Number = _root.getBytesTotal();
var pctLoaded:Number = Math.round(current/total*100);
//tu joues "animload" par rapport au pourcentage chargé :
if(pctLoaded += Ratio){
animload.gotoAndStop(+1);
}
if(pctLoaded >= 100){
delete this.onEnterFrame;
}
}


...Après si "animload" a 12000 frames... ça ne marchera probablement pas :).
En tout cas je n'ai pas testé (je ne suis pas sûr du "+1" dans "animload.gotoAndStop(+1);") mais essaies et advienne que pourra .

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
Rejoignez-nous