我将渲染坐标系设置为:
camera.setToOrtho(false, 288, 512);
但是触摸坐标系是另一个(真的,不是假的)
如何将其翻转以读取特殊位置的输入?
答案 0 :(得分:1)
简单的翻转不是你应该用触摸输入做的唯一事情。输入以像素坐标给出,而您的相机使用288x512单位系统,无论显示尺寸如何。每当您获得触摸事件时,它们将以当前显示的像素坐标给出,这对于不同的手机是不同的,甚至在您在桌面上调整屏幕大小时也会发生变化。这是您需要的代码:
Vector3 v3 = new Vector3(screenX, screenY, 0);
camera.unproject(v3);
screenX
和screenY
是InputProcessor
函数的触摸坐标,或由Input.getX()
和Input.getY()
返回的触摸坐标。需要0,因为Camera.unproject()
需要Vector3
,OrthographicCamera
会忽略它。
这会将v3.x
和v3.y
设置为相机坐标系中的触摸坐标。