如何组合正交相机X,Y和输入处理器screenX,screenY?

时间:2014-03-26 09:36:59

标签: java android libgdx

我制作了两个矩形来划分两个区域的屏幕。触摸每个区域做两件事。我的相机如下:

camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 480);

我的矩形是这样的:

leftRectangle.set(0, 0, 400, 400);
rightRectangle.set(400, 0, 400, 400);

所以我认为我用相机做的,我的手机屏幕分辨率为800px 400px,无论我的实际分辨率如何,都没关系,因为我正在使用相机这样做。但输入处理器screenX和screenY根据我的手机实际分辨率返回X,Y。所以我没有让相机接触X,Y。所以我认为错误的触动价值。

如何使这个触摸X,Y值与相机分辨率相同?

1 个答案:

答案 0 :(得分:1)

使用Camera.unproject()来做到这一点。

Vector3 screenCoords = new Vector3(screenX, screenY, 1);
Vector3 cameraCoords = camera.uproject(screenCoords);
float cameraX = cameraCoords.x;
float cameraY = cameraCoords.y;