Timer qui incrémente un compteur

looping_69 Messages postés 20 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 23 décembre 2008 - 19 déc. 2008 à 11:56
looping_69 Messages postés 20 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 23 décembre 2008 - 23 déc. 2008 à 11:22
Bonjour,

 Je souhaiterai fair un compteur qui s'arrete à une valeur donnée (dans un XML)
Lire le XML et sortir ma valeur max, ca j'arrive à le faire,
par contre je n'arrive pas à faire le compteur
je voudrai qu'un champ text parte de 0 et monte jusqu'a la valeur souhaité et si possible en accelerant le rythm
genre en faisant *2 a chaque fois ( mon comptreur peux avoir comme valeur max 1000000 et il ne faudrai pas
que ca preine 1 000 000 de seconde :) )

comment dois-je m'y prendre ?
j'ai exploré la fonction new Timer(x,x); mai sje bloque :)

Merci de votre aide

5 réponses

remy2501 Messages postés 17 Date d'inscription dimanche 16 octobre 2005 Statut Membre Dernière intervention 28 août 2009
19 déc. 2008 à 20:09
Salut

Si tu souaite appeler une fonction a un interval donné, il existe une fonction bien pratique: setInterval

pour l'utiliser(voir les détails dans l'aide de flash), tu doit d'abord définir une fonction (dans ton cas , celle qui incrémente ton compteur et compare la valeur avec la valeur max) puis lancer l'interval qui appelera la fonction tout les x milliseconde

ce qui donnerai:
/*
Appel du xml et enregistrement de la valeur max dans la variable " maxvalue "
*/
var count:Number = 0
var accel:Number = 0
function timer () {
if (count < maxvalue){
count += accel
if (accel < 200) {
accel += 2
}
} else {
clearInterval(intervalId);
}
}

intervalId = setInterval(this, "timer", 500);

voila j'espère que ca t'aidera et n'oubli pas que quand tout a échouer, lis la doc !!
0
looping_69 Messages postés 20 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 23 décembre 2008
19 déc. 2008 à 20:24
Voici mon code:

var fichierXML:XML;
var chargeurDonnees:URLLoader = new URLLoader();
var adresseFichierXML:URLRequest = new URLRequest("param.xml");
chargeurDonnees.load(adresseFichierXML);
//chargeurDonnees.addEventListener(Event.COMPLETE, onComplete);
var count:Number = 0;
var accel:Number = 0;


fichierXML = new XML(chargeurDonnees.data);




function timer() {


 if (count < fichierXML.nbmendat) {


  count += accel;


  if (accel < 200) {


   accel += 2;
   displayTime.text = count;
  }


 } else {


  clearInterval(intervalId);


 }


}
var intervalId = setInterval(this, "timer", 500);

Mais j'ai des erreurs ... je galaire un peu je debute en AS3
0
looping_69 Messages postés 20 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 23 décembre 2008
19 déc. 2008 à 20:25
Merci pour ton aide déjà
0
remy2501 Messages postés 17 Date d'inscription dimanche 16 octobre 2005 Statut Membre Dernière intervention 28 août 2009
20 déc. 2008 à 18:24
ce code est de l'AS2 pas de l'AS3
pas étonant que flash te donne des erreur !!
0

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

Posez votre question
looping_69 Messages postés 20 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 23 décembre 2008
23 déc. 2008 à 11:22
ah ok  tout s'explique
faut dire que je débute en AS et que je ne fait pas bien la diférence
0
Rejoignez-nous