You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AnyLogic运行时修改车辆尺寸:按钮调整缩放无效问题

解决AnyLogic中车辆缩放比例修改问题

问题根源

你当前的代码只是创建了一个全新的LineCarAgent实例,修改的是这个孤立对象的carSize,和模型中正在运行的车辆、后续要生成的车辆完全无关,所以控制台能打印值但实际看不到尺寸变化。

正确实现步骤

1. 定义全局控制变量

在Main代理中添加全局变量:

  • 变量名:globalCarSize
  • 类型:double
  • 初始值:设置为你原本的车辆缩放默认值(比如1.0)

2. 绑定车辆缩放属性

在LineCarAgent(你的车辆代理)的3D对象属性「Additional Scale」中,直接填写绑定全局变量:main.globalCarSize(Main代理默认实例名为main)。这样后续生成的车辆会自动继承这个全局变量的值。

3. 编写按钮点击代码

在Main的按钮点击事件中,替换为以下代码:

// 更新全局变量,后续生成的车辆将自动使用新尺寸
globalCarSize = 11;

// 遍历所有已存在的车辆,强制更新它们的缩放并刷新显示
for(LineCarAgent car : findAll(LineCarAgent.class)){
    car.get3dObject().setScale(globalCarSize);
    car.get3dObject().updateShape(); // 立即刷新3D视图
}

traceln("New car size " + globalCarSize);

内容的提问来源于stack exchange,提问作者Aqeel Tariq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 02:06:24