尝试使动作每5秒调用一次

TheBigChung:

我正在尝试制作一个称为计时器的类。我的角色进入敌人的区域时,应该调用计时器类。计时器类应该每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();
 }

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

laancelot:

这是您可以用来安排活动时间的课程:

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秒后再次触发。

玩得开心!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章