0

好的,所以我有两个对象,一个播放器和一个光标。我有两个对象的位置,我只需要找到玩家必须旋转以面对光标的度数或弧度数。

我正在用 Javascript 制作这个游戏,并且游戏在画布中运行。所以我更喜欢在 Update() 或 Draw() 函数中放置一个代码来更新一个变量,我可以在每次调用 Draw() 函数时使用它来旋转我的播放器。

我认为会有一些公式可以用于此,但我自己无法找到它,坦率地说,如果我有的话,我可能不知道该怎么做。所以,如果你们中的一个人能帮我解决这个问题,那就太棒了!

4

1 回答 1

0

好的,让我们假设以下内容:
1)除了一个玩家(你知道它的位置)和一个光标(你知道它的位置),你还知道玩家的当前轮换(我想你有一个顶部-俯视一个人,你可以看到他面对的方向)。我假设这是因为您询问玩家必须旋转多远才能面对光标,这意味着玩家有旋转。如果玩家总是面向一个方向并且其他所有东西都围绕他们旋转,那么同样的方法也可以,只是你不需要在最后减去玩家的旋转。
2) 球员轮换相对于“右”(正 x 轴)。
3) 球员轮换以弧度为单位。

如果这是真的,那么您将执行以下操作:
1)计算出从“右”到光标的旋转(如果您移动所有内容以使玩家位于原点)。为此,您需要执行 Math.atan2(cursor.y - player.y,cursor.x - player.x); - 这会给你弧度的角度。
2)从这个角度减去玩家的旋转。

达达?

于 2013-03-08T00:32:19.847 回答