libgdx翻转输入坐标系

时间:2014-03-21 18:10:09

标签: android touch libgdx coordinates flip

我将渲染坐标系设置为:

camera.setToOrtho(false, 288, 512);

但是触摸坐标系是另一个(真的,不是假的)

如何将其翻转以读取特殊位置的输入?

1 个答案:

答案 0 :(得分:1)

简单的翻转不是你应该用触摸输入做的唯一事情。输入以像素坐标给出,而您的相机使用288x512单位系统,无论显示尺寸如何。每当您获得触摸事件时,它们将以当前显示的像素坐标给出,这对于不同的手机是不同的,甚至在您在桌面上调整屏幕大小时也会发生变化。这是您需要的代码:

Vector3 v3 = new Vector3(screenX, screenY, 0);
camera.unproject(v3);

screenXscreenYInputProcessor函数的触摸坐标,或由Input.getX()Input.getY()返回的触摸坐标。需要0,因为Camera.unproject()需要Vector3OrthographicCamera会忽略它。

这会将v3.xv3.y设置为相机坐标系中的触摸坐标。