在Java中N毫秒后更改变量的值

时间:2013-02-02 03:25:10

标签: java time netbeans-7 thread-sleep

我正在使用Netbeans()在Java中制作一个游戏,我想要一个布尔变量,当它取一个项目“X”时取值为true,项目“X”代表一个持续“N”的角色的能力miliSeconds,在“N”之后执行该操作的最佳方法是什么?miliSeconds变量返回false的值?

2 个答案:

答案 0 :(得分:1)

现在,不确定这是否是我的地方,但我有一个建议和答案。

我建议建立技能/能力库。用它来跟踪冷却时间,铸造时间等。整体效率会更高。

至于答案,检查当前时间减去能力开始的时间是否超过1000,然后设置变量。将它用于循环系统,如线程。

答案 1 :(得分:0)

new Thread(new Runnable() {
    try {
        Thread.sleep(1000); //1 second
    catch (InterruptedException annoyingCheckedException) {}
    x = "foo";
}

您可以启动一个等待一秒钟的新线程(或者您希望它等待多长时间),然后更改x

try - catch是因为在休眠时,Java强制您捕获InterruptedException,如果线程被中断,将会抛出该{{1}}。在这种情况下,您永远不会打断线程,因此您不必担心它。