首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传输代理的getDistanceTravelled()静态参考误差

传输代理的getDistanceTravelled()静态参考误差
EN

Stack Overflow用户
提问于 2022-06-10 20:17:01
回答 2查看 64关注 0票数 0

我有一个名为"AGV“的代理,它在我的模型中用作运输工具。它是我舰队的代理人,名叫"OrderFleet“。

我怎样才能在模拟运行结束时获得AGV的行驶距离?

如果我将AGV.getDistanceTravelled(METER);放入被称为" main“的主代理的"On破坏”中,我将收到以下错误:

不能从AGV.

类型中静态引用非静态方法getDistanceTravelled(长度单位)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-12 17:04:00

AGV是一种代理类型,而不是代理,因此您不能在其上使用getDistanceTravelled()函数。要解决您的问题,首先通过拖动和拖放到"Agent“调色板的"Agent”元素来创建AGV类型的代理。

然后,通过执行以下操作,确保将舰队块中的新运输机添加到该种群中:

现在,您可以在On破坏字段中编写以下代码:

代码语言:javascript
复制
for( AGV a : AGVs ) {
  traceln(a.getDistanceTravelled(METER));
}

这将返回该舰队中每辆AGV的行驶距离。

票数 1
EN

Stack Overflow用户

发布于 2022-06-11 08:44:10

您需要将该代码放入AGV代理类型的"on破坏性“部分,而不是Main。(Main在模型结束时只被销毁一次,而且显然根本不自己旅行:)。

如果您还没有AGV的单独代理类型,则需要创建(并应用)它。请参阅示例模型,其中详细显示了这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72579455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档