AS3:使用atan2实现正确旋转时出现问题

时间:2013-12-09 02:02:43

标签: actionscript-3 math

我有以下情况:播放器位于屏幕中间,并且永远不会从这些坐标移动。如果我点击屏幕最右侧的鼠标,A *脚本将按照自己的步行/不可行走标准开始并移动玩家所在的背景,例如,如果中心之间有障碍物在播放器始终位于屏幕最右侧的屏幕上,背景正确地向相反方向移动并且当需要在障碍物周围移动时,所以您有玩家行走的错觉,但只有背景移动。

我的问题是我不知道如何旋转我的播放器以模拟他正在跟随实际背景的路径。例如,在开始时,玩家面朝下。如果我点击屏幕右侧,播放器应该朝右。当存在障碍物时,玩家应该面对障碍物周围的路径方向,等等

但技术上我的玩家再也不动了,所以我不知道我应该使用atan2的坐标。在我看来,我认为玩家应该朝着A *脚本中创建的最佳路径数组中下一个最佳跳跃的中心旋转,但由于某种原因,我无法找出atan2的正确坐标y和x命令

我敢打赌这是一个我忽略的简单事情,但显然我的思维处于关机模式,所以我可以使用一个全新的视角: - )

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,不要在大脑关闭模式下编码,这样可以节省大量的脑力劳动时间。

在这种情况下,您不需要atan2(),因为您的播放器在技术上是在网格上而不是在屏幕上。为玩家提供网格上的内部坐标,当玩家在世界各地走动时将更新,并在A *脚本中使用它们。 A *脚本生成玩家应该行走的一系列图块,因此您可以从当前和下一个图块中获取玩家的面部,例如,如果要行走的下一个图块向上相邻,则会让玩家面朝上并继续移动。