在处理3中暂停执行程序

时间:2017-05-20 14:43:16

标签: java processing

我正在尝试按如下方式创建暂停按钮:

boolean paused = false;  
void mouseClicked(){
  if(!paused)
    stop();
  else
    start();
  paused = !paused;
}

它会停止程序,但是当我再次按下时它不会启动它。这有什么不对?提前致谢。

2 个答案:

答案 0 :(得分:0)

如果没有看到MCVE,很难帮助你。具体来说,我们不知道您的start()stop()函数正在做什么。

但总的来说,我说你正走在正确的轨道上。您使用paused变量来跟踪应用程序是否已暂停,然后仅在paused为false时运行您的程序。这是一个骨架:

boolean paused = false;

void draw(){
   if(paused){
      //draw paused screen
   }
   else{
      //draw your program
   }
}

void mouseClicked(){
   paused = !paused;
}

您还可以考虑使用noLoop()loop()函数。

答案 1 :(得分:0)

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
  }
}