我必须模拟高速公路上的交通使用AnyLogic8学习版,我想做的是控制道路上的车速为例如,如果我的车从road1移动到道路2通过CarMoveTo我想改变速度,当它进入road2...我尝试使用CarMoveTo的"on enter“和"on exit”,但没有成功,我甚至尝试使用Car API也没有成功。我想我错过了编写以下代码的合适位置:
if (getRoad().equals("Road2"))
setPreferredSpeed(0, MPH);有什么帮助吗?
发布于 2019-04-29 06:33:12
首先,我认为您的getRoad().equals( "Road2“)可能有问题。getRoad根据intelliSense返回一个道路对象,而不是一个字符串。试着去掉你的引号。
要设置某条道路的速度,请尝试以下方法之一: 1)使用停车线,在穿过该线时,呼叫您的代码来设置速度。不需要弄清楚你在哪条路上,因为停车线本身就是你感兴趣的路。2)使用道路网络描述符,并将您的代码称为"On Enter Road“
如果move to仅适用于road2,您也可以在那里设置它。但是,如果移动到block给了汽车一个恰好通过road2的整体目的地,那么这将不是一个正确的地方,因为它会在汽车第一次进入移动到block时被调用。
https://stackoverflow.com/questions/55889116
复制相似问题