嗨我正在使用java但是我试图做一个延迟,不会停止程序但停止代码块的类型,例如,如果我有一个方法,添加1到一个变量,我希望它添加1然后等待一秒然后再添加1但是delay()会停止整个程序并且thread.sleep在处理项目中不起作用。
答案 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;
}
旁注:请在键入时尝试使用正确的标点符号。现在你的问题只是一个长期的连续句子,这使得它很难阅读。