如何表示时间的流逝?

时间:2015-04-26 22:10:51

标签: java javafx simulation

我正在创建一个简单的加油站模拟作为家庭作业。模拟的总持续时间是一周。根据燃料类型,加注汽车大约需要3分钟。汽车可能被收集在队列中。现在的问题。我知道如何实现这些方法,但不知道如何在没有像Thread.sleep()这样的方法的情况下模拟一段时间。

P.S。我正在使用JavaFX框架来完成这项任务。汽车通过javafx.scene.shape.Rectangle方法表示为Tranlsate及其移动。掌柜也是。

2 个答案:

答案 0 :(得分:1)

def all_extreme(x): return all('!' in word for word in x) 方法接受毫秒值。基本上,您可以运行更新,然后计算在下次更新之前需要睡多长时间。

您可以使用Thread.sleep()来衡量已过去的实时时间。确保您的课程System.nanoTime()。在run方法中,粘贴一个包含implements Runnable方法的while循环来更新汽车。在循环的开始和结束时获取纳秒时间,减去两个给出经过时间的时间。减去每次更新所需的时间,然后休眠线程。我认为这就是你所需要的一切。

以下是代码:

update()

答案 1 :(得分:0)

在JavaFX框架内,
您只需使用PauseTransition来模拟定期时间流逝。在每个时期结束时更新场景图元素'状态。如果您要更改某个节点的某些属性并执行各种动画,则可以使用其他types of Transitions。要获得更精细的控制,您可以将TimelineKeyFrame s一起使用。