Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AS] Compteur de secondes réelles

Sujet résolu
    7 mai 2006 à 22:25:38

    Salut à tous.
    Voici mon problème : j'aimerais pouvoir afficher les secondes qui défilent dans une animation flash qui consiste tout simplement à trouver le nombre deviné aléatoirement.
    J'ai trouvé comment faire le minuteur mais le problème c'est que ce minuteur n'est pas basé sur les "vraies" secondes du système d'exploitation, il y a donc une décalage entre le temps écoulé sur flash et le temps écoulé réellement.
    Si quelqu'un peut me proposer une solution ce serait génial :)
    merci
    • Partager sur Facebook
    • Partager sur Twitter
      7 mai 2006 à 22:43:30

      Euh

      La solution la plus "proche" de la réalité c'est la fonction setInterval, qui permet de faire appel à une fonction à intervalle de temps précis.

      Va voir dans l'aide de Flash, y'a un exemple
      • Partager sur Facebook
      • Partager sur Twitter
        8 mai 2006 à 13:41:23

        oui c'est ce que j'utilisais avant mais bon l'écart reste grand quand même. plus d'une seconde au bout de 15 secondes. pour des petites durée ça gène pas mais pour plusieurs minutes ça devient embêtant :s
        Je vais encore chercher en espérant trouver un jour.
        • Partager sur Facebook
        • Partager sur Twitter
          8 mai 2006 à 14:18:42

          sinon y'a une méthode toute con.

          Tu utilises l'objet "Date" de Flash, qui te permet de connaitre l'heure à la seconde voir à la milliseconde près.

          Ensuite, dans une fonction exécutée à chaque frame, tu fais une bête soustraction du temps actuel au premièr temps enregistré au début de l'animation.

          VOilà, c'est la meilleur solution que tu pourras obtenir avec Flash
          • Partager sur Facebook
          • Partager sur Twitter
            8 mai 2006 à 14:41:43

            voici mon code (il peut-être un peu fait à l'arrache :p) :

            var secondes:Date = new Date();
            seconds = secondes.getSeconds();

            _root.onEnterFrame = function()
            {
            var secondes2:Date = new Date();
            seconds2 = secondes2.getSeconds();
            compteur = seconds2 - seconds;
            }

            la variable compteur s'incrémente bien toutes les secondes mais le problème c'est que lorsque les secondes "réelles" repassent à zéro, la variable compteur reprend dans les négatifs :s
            Aurais-tu une solution à me proposer ?
            Merci.
            • Partager sur Facebook
            • Partager sur Twitter
              8 mai 2006 à 15:59:32

              Bien sur que j'ai une autre solution ;)

              var secondes:Date = new Date();
              seconds = Math.floor(secondes.getTime()/1000);

              _root.onEnterFrame = function() {
                      var secondes2:Date = new Date();
                      seconds2 = Math.floor(secondes2.getTime()/1000);
                      compteur = seconds2-seconds;
                      trace(compteur);
              };



              getTime est une sorte de timestamp, mais en milliseconde, pour çà que je le divise par 1000
              • Partager sur Facebook
              • Partager sur Twitter

              [AS] Compteur de secondes réelles

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown