Wie programmiere ich einen Counter in Processing?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du brauchst eine Startzeit und solltest eine Intervallzeit (in ms) festlegen. Dann kannst du je draw-Aufruf die Differenz zwischen aktueller Laufzeit und Startzeit berechnen. Wenn diese größer als die Intervallzeit ist, wird der Counter dekrementiert und die Startzeit muss neu besetzt werden.

int counter = 10;
int start = millis();
int delay = 1000;

void setup() {
  // ...
}

void draw() {
  if (millis() - start > delay && counter > 0) {
    print(counter--);
    start = millis();
  }
}

Das Zeichnen auf der Zeichenfläche kannst du mit der text-Funktion umsetzen. Vorher muss die Zeichenfläche einmal geleert werden, damit die Zahlen nicht übereinander geschrieben werden.

background(255);
fill(0);
text(counter--, 50, 50);
Muckelxpd 
Fragesteller
 07.12.2021, 14:20

Super danke. Das hat sehr geholfen ;)

0
Muckelxpd 
Fragesteller
 07.12.2021, 16:40

Wo wird denn das "i" deklariert und mit welchem wert ?

0
regex9  07.12.2021, 16:41
@Muckelxpd

Nirgendwo. Es sollte eigentlich die counter-Variable sein.

1
Muckelxpd 
Fragesteller
 07.12.2021, 16:42
@regex9

Achso ja danke habe ich mir schon so halb gedacht :)

0

Da ich diese Bibliothek nicht nutze, kann ich nur einen groben Grundaufbau vorgeben:

for (int i = 600; i >= 0; --i) {
    // i wird in App dargestellt
    delay(1000);
}