我是初学者计划并尝试使用Processing创建一个“Simon”记忆游戏。我目前正在使用计时器每秒显示一个新对象。但是,我无法确定如何在对象显示后立即消失(例如,在它出现后半秒钟)。我已经尝试创建第二个计时器对象,在一定时间后重绘背景,但它只是不起作用。非常感谢任何帮助!!
int j = 0;
void draw() {
if (displayTimer.isFinished()){
hideTimer.start();
if(hideTimer.isFinished()){
drawBackground();
}
if (nomisSequence[j] == color(255, 0, 0)) {
drawBackground();
button1.display();
}
else if (nomisSequence[j] == color(0, 255, 0)) {
drawBackground();
button2.display();
}
else if (nomisSequence[j] == color(0, 0, 255)) {
drawBackground();
button3.display();
}
else if (nomisSequence[j] == color(255, 255, 0)) {
drawBackground();
button4.display();
}
if(hideTimer.isFinished()){
drawBackground();
}
j++;
displayTimer.start();
hideTimer.start();
}
}
答案 0 :(得分:0)
我不知道您正在使用的timer
个对象,但您不需要它们。处理有一个方便的millis()
功能,你可以使用。
只记录您想要的任何事件的开始时间,然后检查该开始时间加上持续时间是否小于当前时间。
这样的事情:
int startMillis;
int duration = 1000;
void draw() {
background(0);
if (mousePressed) {
startMillis = millis();
}
if (millis() < startMillis + duration) {
ellipse(mouseX, mouseY, 10, 10);
}
}