我正在创建一个2D游戏,汽车沿着交叉的道路行驶。给车辆一个转弯命令列表(例如:左,左,右,左)。当他们到达十字路口时,他们应该根据当前命令左转或右转,然后沿着那条路行驶,直到他们到达下一个十字路口。注意:道路可以以任何角度相交,而不仅仅是直角。
汽车有位置,速度,指挥,当前道路,下一条道路和方向(前进/后退)。
考虑到当前的道路,方向和左/右命令,我无法确定车辆在转弯后应该走向下一条道路的哪个方向。如何设置它的任何帮助将不胜感激。
答案 0 :(得分:2)
答案:
将当前道路上的方向标准化为0度。然后,如果汽车右转,新的道路线段将从0到180.如果是左侧,新的道路段将从180到360.
答案 1 :(得分:0)
你可以使用trig吗?例如,如果你要去北方,你可以说你的方向是90度,因此你的单位向量是(0,1)。
如果你右转
angle -= 90;
左
angle += 90;
然后你的方向向量就是
x_component = cos(angle);
y_component = sin(angle);
编辑:对不起,我刚刚阅读了关于交叉点处于任意,非正交角度的部分,让我想一下这一点。