【发布时间】:2018-10-23 12:33:50
【问题描述】:
我正在尝试制作游戏,我需要玩家(矩形)始终注视鼠标,我找到了一些关于此的页面,但我似乎无法理解数学。 主要:
g2d.rotate(calculateRotation, x,y);
g2d.fill(player);
g2d.rotate(-calculateRotation, x,y);
鼠标监听器:
int mx = e.getX();
int mY = e.getY();
float rotation = Math.atan((mouseX-playerX)/(mouseY-playerY)); //<--- I don't know
【问题讨论】:
-
2D 还是 3D?更多信息会很好
-
@Grantly,2d,很抱歉造成混乱。
-
你应该使用
atan2,而不是atan,否则你无法区分直接面对鼠标和直接背对鼠标的区别。 -
所以数学 Math.atan2((mouseX-playerX)/(mouseY-playerY)); ?
-
Math.atan2(mouseY-playerY, mouseX-playerX)
标签: java mouse rectangles drawing2d