【问题标题】:How to obtain the time of the simulator in RinSim 4.1.0?RinSim 4.1.0如何获取模拟器的时间?
【发布时间】:2016-05-02 17:13:12
【问题描述】:

我想知道initRoadPDP 方法(继承自Depot 类)中的时间。如果不将 Simulator 对象作为字段插入到我的类中,这是否可行?

class MyDepot extends Depot {

  @Override
  public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) {
    // how to know the current time?
  }
}

【问题讨论】:

  • 能否添加更多代码
  • 你熟悉 RinSim 吗?因为这是 RinSim 用户特有的问题。 (关于RinSim 的问题应该在stackoverflow 上提出,根据他们的github)。如果您了解 RinSim,我相信这个问题很清楚。 (我只用java标记它,因为我必须标记它......)

标签: java rinsim


【解决方案1】:

initRoadPDP(..) 方法在MyDepot 的初始化阶段被调用。这发生在将Depot 添加到模拟器时,对于软件仓库来说,这通常是在模拟时间开始之前。

获得时间进度通知的标准方法是实现TickListener 接口。除了跟踪时间之外,此接口还允许您使用接收到的TimeLapse 对象来执行需要时间的操作。但是,由于收到的第一个报价总是在对 initRoadPDP 的任何调用之后,因此此方法可能不适合这种情况。

无论如何,使用TickListener 的代码如下所示:

class MyDepot extends Depot implements TickListener {
    public MyDepot(Point position) {
        super(position);
    }

    @Override
    public void initRoadPDP(RoadModel pRoadModel, PDPModel pPdpModel) {
        // how to know the current time?
    }

    @Override
    public void tick(TimeLapse timeLapse) {
        timeLapse.getTime(); // current time
    }

    @Override
    public void afterTick(TimeLapse timeLapse) {}
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2011-02-07
    • 2015-12-11
    • 1970-01-01
    • 2014-09-21
    相关资源
    最近更新 更多