- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的一系列令人困惑的问题中,这是下一个。
我需要一个可由玩家自定义的计时器。在 Boggle 游戏开始之前,玩家可以选择 30 到 180 秒之间的时间。我尝试使用链接到 TimerTask 的 Timer 进行尝试,这在游戏第一次运行时有效,但是当我更改 TimerTask 中的秒数时> 然后再运行一次,它说任务正忙或已被取消。实现在游戏开始时重置并具有可自定义时间限制的计时器的最佳方法是什么? Timer
/TimerTask
可以重置吗?
代码:
类(class)倒计时:
public class CountDown {
Timer timer;
DisplayCountDown displayCountDown;
public CountDown(DisplayCountDown displayCountDown) {
timer = new Timer();
this.displayCountDown = displayCountDown;
timer.schedule(this.displayCountDown, 0, 1000);
}
public DisplayCountDown getDisplayCountDown() {
return displayCountDown;
}
public Timer getTimer() {
return timer;
}
}
类 DisplayCountDown:
public class DisplayCountDown extends TimerTask {
private int seconds = 30;
public void run() {
if(seconds > 0) {
seconds--;
} else {
return;
}
}
public void setSeconds(int seconds) {
this.seconds = seconds;
}
public int getSeconds() {
return seconds;
}
}
要重置计时器,我尝试这样做:
countDown = null;
countDown = new CountDown(displayCountDown);
第二次运行时出现此错误:线程“main”中出现异常 java.lang.IllegalStateException:任务已计划或取消
编辑:出了什么问题?为什么这会获得如此多的负面声誉?我不是要求你们给我一个解决方案,我知道你们讨厌它,这根本不是我想要的......我只是想回到正轨,一个类的名称就足够了我...为了清楚起见:我并不是要求一个完整的解决方案,只是为了一些提示:/
最佳答案
“如果计时器的任务执行线程意外终止,例如,由于调用了其 stop 方法,则任何在计时器上调度任务的进一步尝试都将导致 IllegalStateException,就像调用了计时器的 cancel 方法一样。”
来自 http://docs.oracle.com/javase/6/docs/api/java/util/Timer.html
因此,一个解决方案是在取消第一个计时器后创建一个新计时器。
另一种解决方案是:您可以让一个计时器永远持续下去,而不是停止和启动计时器,并让所有 DisplayCountDown 实例订阅全局计时器(例如,通过填写列表,并让计时器迭代该列表)并通知每个 DisplayCountDown)
关于Java:小游戏的可变计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14510344/
现在我正在学习一些 Javascript,但由于我的技能很低,现在遇到了很多问题。我需要一些帮助来解决这段代码中的几个问题。 我正在尝试编写一个名为“打鱼”的游戏。它有一个计时器、分数和 onclic
我知道网上有几个类似的问题,但没有一个真正对我有帮助。我只是想绘制一个网格,并为用户提供点击这些网格单元格的选项。每次用户单击时,单元格的颜色/填充应从黑色变为白色。 我目前正在做的事情如下: BLA
我正在创建一个小游戏,其中一只猫必须捕获一只随机移动的老鼠。代码背后的想法是首先随机移动鼠标,然后检查猫相对于鼠标的位置。该代码对于较小的网格(CatAndMouse(...) 中的第一个输入)工作得
这个问题在这里已经有了答案: Iterating through a Collection, avoiding ConcurrentModificationException when removi
本文实例为大家分享了C语言实现三子棋(井字棋)小游戏的具体代码,供大家参考,具体内容如下 推荐阅读顺序(不建议跳过) 先看实现之后的界面 —— 然后看分析程序要实现的步骤 —— 之后在看翻到te
我想在我正在开发的简单平台游戏中实现实体块,但我不知道如何实现。 我尝试了很多东西,但没有任何效果。 我想做以下事情: 当我跳上去时,我会留在那里 当我跳到它下面时,我不会到达顶部 当我从左侧跳时,我
我正在 WinForms 中制作简单的图形游戏,目前我希望在游戏开始时显示一个菜单。我唯一的问题是我不确定应用程序本身的结构,这是我目前所拥有的: 1) 要有菜单形式和游戏形式。选择新游戏后,创建游戏
我试图让我的玩家 rect 在侧面和底部与我的敌人 rect 碰撞,因此玩家 rect 不会抛出敌人的 rect 但我不知道为什么它一直将我传送到它根本不起作用 VIDEo platform.rec
我是一名优秀的程序员,十分优秀!