通过libGDX中的控制杆(触摸板)旋转播放器

时间:2014-02-22 13:51:10

标签: java android math libgdx

在我的libGDX项目中,我想用触摸板在屏幕上移动玩家。那已经有效了。 现在我想沿着他移动的方向旋转玩家的“面部”。 我用这段代码试了一下,但是我没有真正的工作

double degree;

degree = Math.tan(touchpad.getKnobPercentX()/touchpad.getKnobPercentY());

playerSprite.setRotation((float) degree);

我希望你能帮助我(在我问这个问题之前,我已经在Google上搜索了大约1个小时,所以不要告诉我谷歌它;)

1 个答案:

答案 0 :(得分:0)

您可能希望使用atan(y / x)函数或甚至更好的atan2(y,x)函数来获取角度。查看以弧度为单位获得结果的文档,并期望以度为单位的输入。

tan将角度(以弧度表示)转换为切线值,即角度的斜率。

phi = atan(y / x)是弧形tan,几个世纪前写成arg(y / x = tan(phi))。它为相反的角度提供相同的结果,因此您必须纠正右象限。

phi = atan2(y,x)已经执行了该修正。