LibGDX中的鼠标偏移量

时间:2014-09-19 23:40:18

标签: java libgdx

我最近开始在LibGDX中制作我的新游戏,但我遇到了一个小问题。我发现了如何让播放器朝着鼠标旋转,但它总是偏移几度。问题是我不知道它所抵消的确切度数。有谁知道如何解决这一问题?我没有任何代码可以改变鼠标或类似的东西。

1 个答案:

答案 0 :(得分:0)

看了你的代码后,你的角度计算中似乎有一个错误...你似乎已经切换了x和y坐标。 libgdx中的实现如下所示:

public float angle () {
    float angle = (float)Math.atan2(y, x) * MathUtils.radiansToDegrees;
    if (angle < 0) angle += 360;
    return angle;
}

为方便起见,您可以轻松使用libgdx的Vector2类中的angle()方法。

http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/math/Vector2.html#angle-com.badlogic.gdx.math.Vector2- https://github.com/libgdx/libgdx/blob/1ac475880a41168b815e53ebeeeb917a08c49a28/gdx/src/com/badlogic/gdx/math/Vector2.java

另外,我建议您在相机中使用unproject()方法。这会将屏幕坐标(像素)转换为相机使用的坐标系。这些不一定需要不同,但可能是。因此,如果您以后更改任何内容,最好实施它。

改变这两件事可以解决你的问题。