如何延迟处理项目?

时间:2017-06-15 14:22:23

标签: java processing delay

嗨我正在使用java但是我试图做一个延迟,不会停止程序但停止代码块的类型,例如,如果我有一个方法,添加1到一个变量,我希望它添加1然后等待一秒然后再添加1但是delay()会停止整个程序并且thread.sleep在处理项目中不起作用。

1 个答案:

答案 0 :(得分:0)

除非您已经在使用自己的主题,否则不应在处理中使用delay()Thread.sleep()。不要在默认的处理线程上使用它(所以不要在任何处理函数中使用它。)

相反,使用frameCount变量或millis()函数来获取事件开始的时间,然后根据当前时间检查以确定何时停止事件。

这是一个示例,只要用户点击,就会显示一个圆圈5秒钟:

int clickTime = 0;
boolean showCircle = false;

void draw(){
  background(64);
  if(showCircle){
    ellipse(width/2, height/2, width, height);

    if(clickTime + 5*1000 < millis()){
      showCircle = false;
    }
  }
}

void mousePressed(){
  clickTime = millis();
  showCircle = true;
}

旁注:请在键入时尝试使用正确的标点符号。现在你的问题只是一个长期的连续句子,这使得它很难阅读。