我正在创建一个赛车游戏,在创建 AI 时遇到了一些问题。我需要做的是让 AI 从 X,Y 位置到另一个 X,Y 位置的“检查点”。通过在将要前往的地图周围放置不同的不可见检查点来创建 AI 行驶轨迹。
我可以通过计算我到检查点的 X、Y 差来获得到检查点的方向,然后使用 tan(Deg) = Y/X,女巫给了我必须从当前位置开始的方向。
distanceToMoveX = checkpoint1X - this.getX();
distanceToMoveY = checkpoint1Y - this.getY();
newDirection = ((double)distanceToMoveY / distanceToMoveX) * 100;
所以现在我有了从当前位置出发的方向,也有了当前移动的方向。如果我现在的方向是 350 并且我想去 10,我现在想做的是让我的 AI 意识到它更接近右转。因为现在我只能让它一直右转或左转。