【发布时间】:2018-05-30 23:28:29
【问题描述】:
我正在尝试模拟自给自足的奶牛种群,但是当我将新代理动态添加到主要代理的种群时,新创建的代理不会出现。如何解决?我使用
从母代理创建代理this.main.add_cows();
【问题讨论】:
标签: anylogic
我正在尝试模拟自给自足的奶牛种群,但是当我将新代理动态添加到主要代理的种群时,新创建的代理不会出现。如何解决?我使用
从母代理创建代理this.main.add_cows();
【问题讨论】:
标签: anylogic
确保将初始位置设置正确,否则它可能会出现在您不期望的默认位置。比如:
Cow myNewCow = this.main.add_cows();
myNewCow.setXY(uniform(0,600), uniform(0,400));
【讨论】:
首先转到将存在动画的代理(这也是定义代理的位置)。在大多数情况下,这是主代理,因此您可能希望转到“主”并单击牛代理以查看牛代理的属性中的“初始位置”。
创建新代理时,默认位置是代理动画位置,这可能在可见区域之外的某个位置,因为我们通常将定义的代理定位在画布之外,在您的情况下,它与所有的奶牛。
现在您有其他选择:例如,您可以在空间中选择一个随机坐标(假设您有一个 600x600 像素的正方形):
或者您可以选择一个节点(只要在您的动画画布中定义了一个节点:
所以,总而言之,当你在你的群体中创建一个新的代理时,你必须告诉 AnyLogic 你想在哪里找到它......否则,软件怎么知道你想要什么?
【讨论】: