在主级

时间:2018-01-10 04:58:52

标签: anylogic

我正在构建一个模型,其中“main”中有一群代理,其矩形节点作为其定义的一部分 - 让我们称之为“笔”代理。我正在主级别构建我的动画,并通过设置他们的X-Y坐标(setXY())以编程方式定位“笔”代理 - 笔的图像出现在我画布上的预期位置。当我运行我的模型并告诉我的移动代理(让我们称之为“绵羊”)沿着路径移动到已在“主”上定义的节点时,它们按预期移动。然而,当我告诉我的“羊”移动到我的“笔”对象中存在的节点时,羊只是移动,好像“笔”位于(0,0)位置。

我在群体和“笔”演示项目上尝试了各种“可见”和“上层可见”选项的组合,但我仍然无法得到我追求的行为。如何在“主”级别中正确识别子“笔”代理中的节点?

一张图片说出千言万语:

Animation on "main"

1 个答案:

答案 0 :(得分:0)

好的,我找到了一个适用于我的情况的解决方案,但是我对它并不完全满意,因为它看起来有点过于“手动”。 我所做的只是在运行时创建“笔”节点,并将其所有者设置为main,如下所示:

node = new RectangularNode();
node.setOwner(main);
node.setPos(x, y, 0);
node.setSize(width, height);
node.initialize();

我得到了x& y坐标和宽度&来自“pen”类中最初创建的节点的高度尺寸。 我认为这是一个远非优雅的解决方案,所以如果有人能建议一个更好的解决方案,那么“我就是全部的耳朵”。