Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
就目前而言,我有一张地图,上面有道路,车辆可以从南到北,从东到西(以及相反的方向)来回行驶。到目前为止,我使用 JPanel 来表示车辆。但是现在它变得有点难以处理,因为我想在路口转弯和平滑换道等。
因此,JPanel 似乎不是最佳选择。到目前为止,我尝试的是使用Shape界面来绘制多边形并将它们用作车辆,但是我不确定这是不是正确的选择。
Shape
我最终会想要构建自己的车辆图像,因此解决方案必须能够将图像添加为背景或类似的东西,并且仍然能够执行诸如旋转、变换等操作。
对此的任何指导将不胜感激。
就个人而言,使用JPanel并不是一个糟糕的选择,您需要做的是扩展它的功能,以允许您在车辆转弯时绘制车辆方向的变化。
JPanel
这将需要一些动画 - 您将想知道车辆完成转弯需要多长时间,以便您可以计算车辆随时间的角度。
为此,我将使用AffineTransformation,请在此处查看一些示例。
AffineTransformation
您还需要在车辆转动时更改组件的大小,请在此处查看答案。
车道变化将是一个类似(如果更容易)的概念。基本思想是有一个翻译的开始位置和结束位置,并随着时间的推移移动到那个位置。同样,您需要知道完成翻译所需的时间。