我制作了两个矩形将屏幕分成两个区域。触摸每个区域有两种不同的作用。我的相机如下所示:
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。所以我得到了错误的触及值(value)。
我怎样才能使这个触摸的X,Y值与相机的分辨率相同?
最佳答案
使用Camera.unproject()
这样做。
Vector3 screenCoords = new Vector3(screenX, screenY, 1);
Vector3 cameraCoords = camera.uproject(screenCoords);
float cameraX = cameraCoords.x;
float cameraY = cameraCoords.y;
关于java - 如何组合正交相机 X、Y 和输入处理器 screenX、screenY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22656808/