gpt4 book ai didi

java - 尝试每 5 秒执行一次操作

转载 作者:行者123 更新时间:2023-11-30 09:59:45 26 4
gpt4 key购买 nike

我正在尝试创建一个名为 timer 的类。当我的角色进入敌人区域时,应该调用计时器类。计时器类应该每 5 秒将角色的生命值减少 10 点。我尝试了多个不同的计时器,但我似乎无法正确使用它们中的任何一个。当我尝试它删除健康但它并没有只做一次,它一直重复它直到健康栏不在屏幕上。这是我的代码:

class Timer {
g = new gubbe();
gubbe g;
Timer timer = new Timer(3000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
g.RemoveHealth();
}
});
timer.setRepeats(false);
timer.start();
}

这就是我到目前为止的想法。如果需要更多代码,请询问。

最佳答案

这是一个可以用来为事件计时的类:

class Delay {
protected int limit;

public Delay() {limit = millis();}
public Delay (int l) {
limit = millis() + l;
}

public boolean expired () {
if (millis() > limit) { return true; }

return false;
}
}

要每 5 秒检查一次,您必须像这样初始化它:

Delay _delay;

void setup() {
_delay = new Delay(5000);
}

void draw() {
if (_delay.expired()) {
//do something
_delay = new Delay(5000);
}
}

5000是以毫秒为单位的,所以代表5秒。如果您想检查 1 秒的延迟,则改为 1000。我们在延迟完成后重新初始化它,以便它在 5 秒后再次触发。

玩得开心!

关于java - 尝试每 5 秒执行一次操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58625097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com