在处理 3 中暂停程序的执行
pausing the execution of a program in processing 3
我正尝试在处理过程中创建一个暂停按钮,如下所示:
boolean paused = false;
void mouseClicked(){
if(!paused)
stop();
else
start();
paused = !paused;
}
它停止了程序,但当我再次按下时没有启动它。这里出了什么问题?提前致谢。
如果没有看到 MCVE,很难为您提供帮助。具体来说,我们不知道您的 start()
和 stop()
函数在做什么。
但总的来说,我会说你走在正确的轨道上。您将使用 paused
变量来跟踪应用程序是否已暂停,然后在 paused
为假时仅 运行 您的程序。这是骨架:
boolean paused = false;
void draw(){
if(paused){
//draw paused screen
}
else{
//draw your program
}
}
void mouseClicked(){
paused = !paused;
}
您也可以考虑使用 noLoop()
和 loop()
函数。
boolean paused = false;
void setup() {
size (100, 100);
}
void draw() {
background(0);
text(str(frameCount), 5, 15);
}
void mouseClicked() { // click event, outside draw()!
paused = !paused;
if (paused) {
noLoop(); // stops the draw() loop
} else {
loop(); // restarts the draw() loop
}
}
我正尝试在处理过程中创建一个暂停按钮,如下所示:
boolean paused = false;
void mouseClicked(){
if(!paused)
stop();
else
start();
paused = !paused;
}
它停止了程序,但当我再次按下时没有启动它。这里出了什么问题?提前致谢。
如果没有看到 MCVE,很难为您提供帮助。具体来说,我们不知道您的 start()
和 stop()
函数在做什么。
但总的来说,我会说你走在正确的轨道上。您将使用 paused
变量来跟踪应用程序是否已暂停,然后在 paused
为假时仅 运行 您的程序。这是骨架:
boolean paused = false;
void draw(){
if(paused){
//draw paused screen
}
else{
//draw your program
}
}
void mouseClicked(){
paused = !paused;
}
您也可以考虑使用 noLoop()
和 loop()
函数。
boolean paused = false;
void setup() {
size (100, 100);
}
void draw() {
background(0);
text(str(frameCount), 5, 15);
}
void mouseClicked() { // click event, outside draw()!
paused = !paused;
if (paused) {
noLoop(); // stops the draw() loop
} else {
loop(); // restarts the draw() loop
}
}