如何使用计时器延迟与计时器类(java.util.timer)无关的特定任务?
我正在用Java为一个个人项目制作一个基于文本的RPG。在游戏中,主角将拥有使用咒语或异能的能力。我想给前面提到的法术或技能加一点冷却。我已经研究了javax.swing.Timer和java.util.Timer类,但还没有找到一种方法来使用这个冷却。我没有使用线程或守护进程(主要是因为我认为我不需要,而且我没有使用它们的经验) 任何关于如何进行的帮助或想法都将不胜感激,谢谢如何使用计时器延迟与计时器类(java.util.timer)无关的特定任务?,java,Java,我正在用Java为一个个人项目制作一个基于文本的RPG。在游戏中,主角将拥有使用咒语或异能的能力。我想给前面提到的法术或技能加一点冷却。我已经研究了javax.swing.Timer和java.util.Timer类,但还没有找到一种方法来使用这个冷却。我没有使用线程或守护进程(主要是因为我认为我不需要,而且我没有使用它们的经验) 任何关于如何进行的帮助或想法都将不胜感激,谢谢 校友 当你使用你的法术时,设置一些变量来表示该法术现在不可用。然后启动一个计时器,作为你的冷却。当计时器滴答作响时,
- 校友
然后,如果你能做到这一点,你可以通过计算当前时间与触发法术/异能的时间之间的时间差来检查每一次“帧更新”,如果冷却时间已经过去,并在所需时间过去后重新启用该异能。如果该RPG是基于回合的战斗,则执行以下操作: 用等待冷却所需的圈数制作冷却变量 现在为当前冷却回合制作另一个变量,现在将其值设置为与冷却回合相同的值
curcooldown=waitforcooldown
,诸如此类
然后如果你检查玩家是否想要使用这个法术,然后像这样检查
If player wants to use spell & curcooldown is 0
UseSpell
Else if (player wants to use spell & curcooldown greater or equal to 0
saytoplayerthatspellisundercooldown
如果使用了咒语,则curcooldown=waitforcooldown
将其设置为冷却值转换值。
每次回合结束后,将curcooldown值减少1,这意味着你的冷却时间只损失了1回合,以此类推
希望这有帮助