2012-10-30 3 views
1

Je suis nouveau dans le traitement, mais j'essaie d'obtenir cet effet:Ajouter des points toutes les secondes

En attente.

(1 seconde plus tard)

attente ..

(1 seconde plus tard)

Waiting ...

(1 seconde plus tard)

attente ...

(puis réinitialiser)

En attente.

En tant que texte();

Des idées comment je serais en mesure d'atteindre cet objectif?

+0

Eh bien, je pensais que je pouvais utiliser la « deuxième() » qui utilise l'horloge de l'ordinateur. Et faire une boucle avec elle, mais .. les secondes ne commencent pas à 0, et ne vont que jusqu'à 3 –

Répondre

2

Utilisez Millis() au lieu, il compte le temps, en millisecondes depuis ont commencé le programme. Voici un exemple simple compteur:

modifié à nouveau le code pour un meilleur exemple

PFont font; 
String time = "000"; 
int initialTime; 
int interval = 1000; 
int fontSize; 

void setup() 
{ 
    size(300, 300); 
    fontSize = 40; 
    font = createFont("Arial", fontSize); 
    background(255); 
    fill(0); 
    smooth(); 
    noStroke(); 
    textFont(font); 
    initialTime = millis(); 
} 

void draw() 
{ 
    background(255); 

    // if current time minus lastStored bigger than interval 
    if (millis() - initialTime > interval){ 

    // increment time as an int and back to string again 
    time = nf(int(time) + 1, 3); 

    // reset counter 
    initialTime = millis(); 
    } 

    // just cosmetic using the counter ... 
    if (int(time) % 5 != 0) { 
    fill(210); 
    }else{ 
    fill(170, 100, 100); 
    } 

    ellipse(width/2, height/2, 120, 120); 

    fill(255); 
    ellipse(width/2, height/2, 100, 100); 


    //display time 
    fill(0); 
    text(time, width/2 - textWidth(time)/2, height/2 + fontSize/2.8); 
} 
Questions connexes