计划是计算两个点(字符和光标)之间的斜率,将其转换为与水平线的角度,然后根据该角度切换到特定的字符精灵,使其看起来指向光标(示例:0-30度,一个精灵。30-60度,另一个精灵,另一个60-90,依此类推)。之后我遇到的问题是,这些斜坡可能以某种方式彼此镜像。
我意识到(现在看来很明显)的问题是,在字符A和字符B上具有光标将与字符B和字符A上的光标具有相同的斜率/角度。它无法知道方向指出。
我不知道该怎么办。最简单的解决方案是拥有它,这样就不会通过这种方式(无论是向右还是向左)找到玩家的方向,而是通过箭头键来找到它,但我将其保存为这会导致快速瞄准的问题。
最佳答案
double deltaX = point1.x - point2.x;
double deltaY = point1.y - point2.y;
double angleInRadians = java.lang.Math.atan2(deltaX, deltaY);
double length = java.lang.Math.sqrt(deltaX * deltaX + deltaY * deltaY);