Spilletid
Spring til navigation
Spring til søgning
Eksemplet her tager udgangspunkt i [1].
Koden her laver en visning af hvor lang tid der er gået siden programmet blev startet. Visningen er i sekunder med 3 decimaler, som netop millis() giver mulighed for.
void draw() {
background(0);
int frac = millis() % 1000;
String tekst = millis() / 1000 + ":";
if (frac < 100) {
tekst += "0";
if (frac < 10) {
tekst += "0";
}
}
tekst += millis() % 1000;
text(tekst, 20, 20);
}
I et lidt mere kompliceret eksempel registreres hvor lang tid en aktivitet har taget.
Det gøres ved at man har en variabel running der angiver om der er registrering i gang. Hvis der er det, så beregnes runTime ud fra millis() og en startTime.
Variablen running bliver sat true og false ved tryk på de to knapper som bliver tegnet i draw(), og som registreres i mousePressed. her bliver startTime også sat når der klikkes på start.
boolean running = false;
int startTime;
int runTime = 0;
void setup() {
size(200, 200);
stroke(255);
fill(0);
textSize(25);
}
void draw() {
if (running) {
runTime = millis() - startTime;
}
background(0);
fill(0);
rect(10, 100, 100, 40);
rect(10, 150, 100, 40);
fill(255);
text("Start", 20, 130);
text("Stop", 20, 180);
int frac = runTime % 1000;
String tekst = runTime / 1000 + ":";
if (frac < 100) {
tekst += "0";
if (frac < 10) {
tekst += "0";
}
}
tekst += runTime % 1000;
text(tekst, 20, 50);
}
void mousePressed() {
if (mouseButton != LEFT) {
return;
}
if (mouseX < 20 || mouseX > 100) {
return;
}
if (mouseY > 100 && mouseY < 140) {
if (running) {
return;
}
running = true;
startTime = millis();
}
if (mouseY > 150 && mouseY < 190) {
if (! running) {
return;
}
running = false;
}
}