Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java伪计时器_Java_Eclipse_Date_Timer - Fatal编程技术网

Java伪计时器

Java伪计时器,java,eclipse,date,timer,Java,Eclipse,Date,Timer,我目前正在从事一个java项目。它是一个基本的RTS模拟器。我目前遇到的问题与计时器有关 例如: 我从0:00秒开始 营房建造需要25秒 我需要存储操作的开始时间和结束时间。所以它存储了类似于和事件“兵营0:00 0:25”的内容 我在实时做这件事上没有问题,但这不是我想要的 我希望它能够在伪实时范围内自动创建开始时间戳和结束时间戳(这样我就可以在执行时获得任意时间长度的所有日志)。我在上所知道的正常数据类型没有帮助 有人对我可以用什么来创建这种类型的伪时间线有什么建议吗?我会为每个操作启动一个

我目前正在从事一个java项目。它是一个基本的RTS模拟器。我目前遇到的问题与计时器有关

例如:

我从0:00秒开始

营房建造需要25秒

我需要存储操作的开始时间和结束时间。所以它存储了类似于和事件“兵营0:00 0:25”的内容

我在实时做这件事上没有问题,但这不是我想要的

我希望它能够在伪实时范围内自动创建开始时间戳和结束时间戳(这样我就可以在执行时获得任意时间长度的所有日志)。我在上所知道的正常数据类型没有帮助


有人对我可以用什么来创建这种类型的伪时间线有什么建议吗?

我会为每个操作启动一个新线程

并在日期表单或日历表单中获取当前时间戳

Calendar.getInstance().get(Calendar.MILLISECOND);

** or **

long millis = System.currentTimeMillis() 
barrak类在开始构建和结束构建时必须有自己的长变量

这样,兵营的每个实例都有正确的时间戳

希望我正确地理解了你,这会有所帮助


祝你今天愉快。

你的问题不清楚

你是说你想要一个假时钟,它能保持时间,但速度比你的电脑的真时钟快

Java有两个很好的日期时间框架:

  • Joda Time(第三方图书馆,流行)
  • java 8中的java.time包(受Joda time启发,由JSR 310定义)

两个框架都有一个可插拔的“时钟”类。您可以替换使用计算机物理时钟芯片的默认实现。您的替代者可以在不同的剪辑上移动时间。

为什么不使用摆动计时器?或者只是记录事件应该发生的时间,并在游戏循环中对照该时间进行检查?