Forums Développement Multimédia

Aller au contenu

- - - - -

Problème ajout text dynamique "appendText" sur compte à rebours

CODE

3 réponses à ce sujet

#1 Odissine

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 16 November 2014 - 21:19 PM

Bonjour à tous,
Voilà je suis sur le problème depuis plusieurs heures ... j'ai cherché partout sur le net sans réponse :(

J'ai créé un simple compte à rebours inversé :



var monInterval:Number = 0;
var maVariable:Number = 1;
function maFonction()
{
   if(maVariable == 100)
   {
          trace(maVariable);

          clearInterval(monInterval);
   }
   else
   {
          trace (maVariable);
         maVariable++;
   }
}

monInterval = setInterval(maFonction, 10);

Je voudrais pouvoir afficher ce compte à rebours dans un champ Texte Dynamique créé dans ma TimeLine que j'ai nommé "ShowCompteRebours".

Je pensais faire un simple
ShowCompteRebours.appendText(maVariable.toString());
sauf que bah mon symbole affiche les chiffres les uns a la suite des autres 1, 2, 3, 4, 5, 6 ...
Quand je fais addChild ca marche bien ... mais ca me convient pas ;)

Si qq'un sait comment remettre à zero à chaque fois mon champ et donc appendText remplacerait le texte précédemment intégré au champ ?

Merci pour votre aide

#2 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6934 messages

Posté 16 November 2014 - 21:41 PM

Bonsoir,

Pour les compteurs, etc... il faut utiliser des Timer : http://help.adobe.co...&filter_air=2.6

Pour ton affichage, appendText est une méthode de la classe TextField ( http://help.adobe.co.../TextField.html ), elle permet d'ajouter du texte à la suite d'un String, le comportement est donc tout à fait normal.

Pour éviter que tes chiffres s'ajoutent les uns à la suite des autres il suffit d'affecter le nouveau chiffre au text :

ShowCompteRebours.text = maVariable.toString();


#3 Odissine

    Ceinture Blanche

  • Members
  • Pip
  • 2 messages

Posté 16 November 2014 - 21:46 PM

Whou ... j'adore ce forum ;) A peine posté, a peine repondu et en plus ca marche :P

En fait j'avais déjà fait ce bout de code : NbRoms.text(maVariable.toString()); mais grâce à ton bout de code tout roule now ;)

Trop cool !!!
Beaucoup d'infos en plus sur ce forum ^^ Merci Google et merci Mr Spi :)

#4 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6934 messages

Posté 16 November 2014 - 21:58 PM

Re,

De rien, welcome.

Petit exercice pour faire la même chose avec un timer :



var nombre:int;
var timer:Timer;

init();

function init():void {
    nombre = 0;
    timer = new flash.utils.Timer(60,100);
    timer.addEventListener(TimerEvent.TIMER, compteur);
    timer.addEventListener(TimerEvent.TIMER_COMPLETE, stopCompteur);
    timer.start();
}

function compteur(e:TimerEvent):void {
    nombre++;
    monTexte.text = nombre.toString();
}

function stopCompteur(e:TimerEvent):void {
    timer.stop();
    timer.removeEventListener(TimerEvent.TIMER_COMPLETE, compteur);
    timer.removeEventListener(TimerEvent.TIMER_COMPLETE, stopCompteur)
    init();
}





Répondre à ce sujet



  

1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP