我要制作一个游戏,你可以从上面看到一个角色。但问题是如何让角色始终看着鼠标呢?我如何计算角度,以便我可以向鼠标射击(我正在寻找的位置)。我想你必须玩三角学和类似的东西来获得角度,但我真的不知道如何。
我非常擅长数学,所以如果你们给我一些帮助,我可能会弄清楚。
对不起我最后的英语不好,我是瑞典人:)
谢谢, Alexandberg
答案 0 :(得分:1)
如你所说,在trig中可以找到一个很大的提示
Point pl = getCharacterLox();
Point mouse = getMouseLoc();
double cos = (mouse.getX()-pl.getX());
double sin = (mouse.getY()-pl.getY());
cos/=Math.hypot(cos,sin);//normalize
double angle = Math.copySign(Math.acos(cos),sin);
我在最后一行使用了一个小技巧:acos介于0和PI之间,但如果sin为负,则应该取消,如果sin为0,它将评估为+0.0,角度将为0或PI,无论
答案 1 :(得分:1)
double angle = Math.atan2(yMouse-yChar, xMouse-xChar);