【问题标题】:Anylogic Message AnimationAnylogic消息动画
【发布时间】:2021-05-28 17:37:56
【问题描述】:

我正试图强制人口中的代理在 AnyLogic 中交换消息。我希望每次代理 A 向 B 发送消息时,消息的图标都会从 A 移动到 B。我该如何实现?

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    Emile 发送给您的代码用于将代理从一个地方转移到另一个地方。我了解您不想移动您的两个代理,而是只想将“消息图标”从一个移动到另一个。为此,您可以创建一个代理(我们称其为代理“消息”),创建它并将其定位在 agentA 中,并告诉它(如 Emile 所说)移动到 agentB: messageAB.moveTo(agentB.getPosition());这样你就会得到你想要的效果。 您还可以:

    1. 使用计时器从一个地方移动到另一个地方,或者
    2. 使用一个事件并根据您在该事件上剩余的时间来动态更改图标的位置
    3. 使用与第 2 点相同的源/延迟/接收器

    【讨论】:

      【解决方案2】:

      移动代理基本上有两种方法:

      1. 跳转到代理 B:立即出现在代理 B 附近
      2. 以一定速度移动到代理 A

      每一个的代码分别如下:

      agentA.jumpTo( agentB.getXYZ() );
      
      agentA.moveTo( agentB );
      

      其中agentAagentB 指代代理,根据您在模型中的位置,您可能会以不同的方式调用它们。

      【讨论】:

        猜你喜欢
        • 2021-12-16
        • 2020-12-13
        • 2022-01-13
        • 2018-09-16
        • 2016-12-19
        • 2020-11-28
        • 2021-08-06
        • 2020-10-08
        • 2011-01-12
        相关资源
        最近更新 更多