Timer 在处理过程中创建一个简单的倒计时
我在谷歌上搜索了这么多网站,试图让它工作,但似乎没有人在任何地方有这个,如果他们这样做了,那就是我的程序无法工作。。。我试图做到的是让一个玩家在被击中时产生反冲,在第一次和第二次被击中之间有一个“x”的时间 所以我有一个Timer 在处理过程中创建一个简单的倒计时,timer,processing,countdown,intervals,Timer,Processing,Countdown,Intervals,我在谷歌上搜索了这么多网站,试图让它工作,但似乎没有人在任何地方有这个,如果他们这样做了,那就是我的程序无法工作。。。我试图做到的是让一个玩家在被击中时产生反冲,在第一次和第二次被击中之间有一个“x”的时间 所以我有一个布尔“hit”=false,当他被击中时,它变为true。这意味着他不能再被击中,除非它再次变为假 因此,我试图在我的程序中设置一个函数,为“x”秒数设置一个“计时器”如果hit=true,一旦计时器达到“x”秒数,hit将切换回false 有人有什么想法吗 谢谢 一个简单的选择
布尔“hit”=false
,当他被击中时,它变为true
。这意味着他不能再被击中,除非它再次变为假
因此,我试图在我的程序中设置一个函数,为“x”秒数设置一个“计时器”如果hit=true
,一旦计时器达到“x”秒数,hit将切换回false
有人有什么想法吗
谢谢 一个简单的选择是使用手动跟踪时间 您将使用两个变量:
int time;
int wait = 1000;
void setup(){
time = millis();//store the current time
}
void draw(){
//check the difference between now and the previously stored time is greater than the wait interval
if(millis() - time >= wait){
println("tick");//if it is, do something
time = millis();//also update the stored time
}
}
以下是屏幕上“针”的一个微小变化:
int time;
int wait = 1000;
boolean tick;
void setup(){
time = millis();//store the current time
smooth();
strokeWeight(3);
}
void draw(){
//check the difference between now and the previously stored time is greater than the wait interval
if(millis() - time >= wait){
tick = !tick;//if it is, do something
time = millis();//also update the stored time
}
//draw a visual cue
background(255);
line(50,10,tick ? 10 : 90,90);
}
根据您的设置/需要,您可以选择将类似的内容包装到一个可以重用的类中。这是一种基本方法,应该也适用于Android和JavaScript版本(尽管在JavaScript中有setInterval()
如果您对使用Java的实用程序感兴趣,正如FrankieTheKneeMan所建议的,有一个可用的类,我相信有大量的资源/示例
您可以运行下面的演示:
var时间;
var-wait=1000;
var tick=false;
函数设置(){
time=millis();//存储当前时间
光滑的();
冲程重量(3);
}
函数绘图(){
//检查现在与以前存储的时间之差是否大于等待间隔
如果(毫秒()-时间>=等待){
tick=!tick;//如果是,做点什么
time=millis();//同时更新存储的时间
}
//画一个视觉线索
背景(255);
行(50,10,勾选?10:90,90);
}