7

我正在为基于角度和速度的游戏编写一些 AI 运动。它是一个基于 x、y 轴的 2D 程序。我目前有一个位置矢量以及一个速度矢量,它说明了 AI 的速度和当前方向。每次我移动 AI 时,我只需将速度矢量添加到当前位置以获得我的新位置。此刻运动是 8 向的。我想要实现的是基于角度的运动(更现实的运动类型),并且想知道是否可以从角度和速度常数计算速度矢量。

提前致谢!

4

1 回答 1

17

这最好是可能的。

这就是我设想您的程序的工作方式

position_X += velocity_X
position_Y += velocity_Y

通过三角函数你可以做到

velocity_X = velocity*cos(angle)
velocity_Y = velocity*sin(angle)

在此处输入图像描述

要记住的几件事包括

  1. 当您从上到下时,Y 很可能会增加
  2. 逆问题有两种解决方案,您应该研究一个 2 输入反正切函数。请参阅https://gamedev.stackexchange.com/questions/14602/what-are-atan-and-atan2-used-for-in-games
于 2012-12-29T23:14:47.197 回答