在我的libGDX项目中,我想用触摸板在屏幕上移动玩家。那已经有效了。 现在我想沿着他移动的方向旋转玩家的“面部”。 我用这段代码试了一下,但是我没有真正的工作
double degree;
degree = Math.tan(touchpad.getKnobPercentX()/touchpad.getKnobPercentY());
playerSprite.setRotation((float) degree);
我希望你能帮助我(在我问这个问题之前,我已经在Google上搜索了大约1个小时,所以不要告诉我谷歌它;)
答案 0 :(得分:0)
您可能希望使用atan(y / x)函数或甚至更好的atan2(y,x)函数来获取角度。查看以弧度为单位获得结果的文档,并期望以度为单位的输入。
tan将角度(以弧度表示)转换为切线值,即角度的斜率。
phi = atan(y / x)是弧形tan,几个世纪前写成arg(y / x = tan(phi))。它为相反的角度提供相同的结果,因此您必须纠正右象限。
phi = atan2(y,x)已经执行了该修正。