2011-01-15 3 views
0

Je travaille sur une petite esquisse de traitement où je fais une "horloge" en utilisant les fonctions de temps et les ellipses de dessin à travers la toile en fonction des millisecondes, secondes et minutes. J'utilise une boucle for pour dessiner toutes les ellipses et chaque boucle est dans sa propre méthode. J'appelle chacune de ces méthodes dans la fonction draw. Cependant, pour une raison ou pour une autre, seule la première méthode qui est appelée est en train d'être dessinée, alors que, idéalement, j'aimerais que tous soient visiblement rendus.[Traitement/Java] Visibilité/Superposition Problème

//setup program 
void setup() { 
    size(800, 600); 
    frameRate(30); 
    background(#eeeeee); 
    smooth(); 
} 

void draw(){ 
    milliParticles(); 
    secParticles(); 
    minParticles(); 
} 

//time based particles 
void milliParticles(){ 
    for(int i = int(millis()); i >= 0; i++) { 
     ellipse(random(800), random(600), 5, 5); 
     fill(255);  
    } 
} 

void secParticles() { 
    for(int i = int(second()); i >= 0; i++) { 
     fill(0);  
     ellipse(random(800), random(600), 10, 10); 
    } 
} 

void minParticles(){ 
    for(int i = int(minute()); i >= 0; i++) { 
     fill(50); 
     ellipse(random(800), random(600), 20, 20); 
    } 
} 

Répondre

2

Votre première méthode est le seul à être exécuté parce que la condition qui doit être fausse pour que votre boucle d'arrêter est toujours vrai (je serai toujours> = 0 si vous ajoutez 1 à chaque fois vous bouclez).

Je pense que vous voulez modifier votre pour les boucles comme ceci:

for(int i = int(second()); i >= 0; i--) { 

De cette façon, je sera d'abord 0-59, et diminuera jusqu'à ce qu'il soit -1, à quel point i> = 0 sera faux. L'exécution quittera alors la boucle for et passera à la méthode suivante.

Je pense que c'était votre intention originale, sauf si vous vouliez que chaque méthode s'exécute simultanément et indéfiniment (dans ce cas, vous devriez utiliser des threads).

+0

Pourriez-vous lier une ressource qui traite des discussions s'il vous plaît? Merci pour votre réponse. – nnash

+0

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html –