我制作了两个矩形来划分两个区域的屏幕。触摸每个区域做两件事。我的相机如下:
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值与相机分辨率相同?
答案 0 :(得分:1)
使用Camera.unproject()
来做到这一点。
Vector3 screenCoords = new Vector3(screenX, screenY, 1);
Vector3 cameraCoords = camera.uproject(screenCoords);
float cameraX = cameraCoords.x;
float cameraY = cameraCoords.y;