7
votes

Utilisation du délai () dans l'environnement de traitement

J'utilise Langue de traitement B> pour esquisser un rectangle qui pousse en taille avec le temps. Le code suivant ne donne aucune sortie.

void setup()
{
    size(900,900);
}
void draw()
{
    int edge=100;
    for(int i=0;i<300;i++)
    {
        delay(100);  
        edge++;      
        rect(100,100,edge,edge);
    }
}


0 commentaires

3 Réponses :


7
votes

Je recommande de rouler votre propre système de délai à l'aide de la fonction millis () .

regarder Cet exemple .


0 commentaires

10
votes

Voici un tel "roulez votre propre" méthode de délai qui est bon à la plupart des fins. Il suffit de modifier les valeurs passées dans la méthode de retard pour modifier le calendrier. Cela sortit simplement "Démarrer" et "Terminez" environ toutes les 2 secondes par exemple.

void draw()
{
  System.out.println("start");
  delay(2000);
  System.out.println("end");
  delay(2000);
}

void delay(int delay)
{
  int time = millis();
  while(millis() - time <= delay);
}


1 commentaires

Cet exemple fonctionne pour println () mais pas pour les formes de dessin - tout le programme est retardé avant que tout soit tiré - peu importe l'endroit où le délai est placé dans le code.



3
votes

avec traitement, l'écran ne se rafraîchit pas tant que le flux de programme atteint la fin du dessin () Essayez ce qui suit: xxx


0 commentaires