【发布时间】:2013-03-09 22:16:20
【问题描述】:
有一个球员。在移动光标时,我想获得玩家和光标之间的角度。我的代码是:
public void mouseMoved(MouseEvent ev) {
float angle = (float) Math.toDegrees(Math.atan2(ev.getX() - player.getCenterX(),
ev.getY() - player.getCenterY()));
if (angle < 0) {
angle += 360;
}
System.out.println(angle);
}
但它不会返回正确的值。如何修改它以返回正确的值?
【问题讨论】:
-
你说的大概是两个向量的夹角吧?
-
那么你的参考点在哪里?
-
一个点是鼠标光标点,第二个是玩家点。从两者我得到坐标
-
从这两点,你得到一个线段。它有一个斜率,但没有一个角度,因为您需要两条相交的线/线段才能在它们之间形成一个角度。