将精灵设置为鼠标的正面方向


9

我正在构建一个html5 canvas游戏,我需要一种方法来让我的精灵面对鼠标光标。我有精灵的X和Y坐标,还有指针的X和Y坐标。我所坚持的只是使精灵面对指针的数学运算。一切都在2D世界中,所以我无法想象它会太复杂,但是我对这些东西的经验很少。

同样,有关此类事情的文章/博客文章的任何有用链接也都很棒(一般来说,二维游戏编程,而不是Javascript)。

作为补充,我应该注意,我需要一个角度(度数),该角度将使我使用其X和Y位置指向光标。

我怎么知道光标的坐标,这些东西都放在哪里?


嗨,我在射箭方面遇到了类似您的问题。如果需要,请查看我的博客:yannbane.blogspot.com
jcora 2011年

Answers:


11

不知道您可以使用的API,以下是获取角度的基本数学知识:

angle = math.atan2(y2 - y1, x2 - x1) * 180 / math.pi;

* 180 / math.pi;从弧度到度转换它。


3
请注意,由产生的角度atan2假设坐标系为+ x右和+ y 向上。如果您摔倒了,那么您将需要抵消角度。它还假定当角度为0时,对象将面向(1,0)方向(右)。如果面向另一个方向,则需要偏移角度。我在这里的答案说明了如何执行此操作。
Nicol Bolas
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.