所以我正在制作游戏,我希望用户能够打击犯罪。只有我不希望他们能够在一段时间内再次打击犯罪,最多延迟10秒。我知道我可以以某种方式使用Math.Random(),但是我在这种情况下无法弄清楚如何使用它。
为了澄清,我想要一个标签和两个按钮,表示是或否,在随机的一段时间后最多可见20秒。有人可以解释如何做到这一点,或者是否有更好的方法来做到这一点?
提前致谢。
答案 0 :(得分:0)
基本上,在完成“战斗”后,您将创建一个类似此long timestamp = System.currentTimeMillis()
的时间戳。您可以立即禁用该按钮
然后你可以创建一个Random对象,然后调用它的下一个int方法,你想要创建这个10-20秒的范围,就像这样
Random r = new Random();
int span = r.nextInt(10);
此外,您只需数学上添加id毫秒
span += 1000;
然后你将创建一个在你的gui更新函数中调用的方法,或者一个单独的线程,它将检查currentMillis与你上次“战斗”的时间戳。
if(System.currentTimeMillis() >= span + timestamp) {
// activate
}
答案 1 :(得分:0)
我会尝试创建一个新的Thread
,它不会在随机的时间内休眠,然后再次启用该按钮。