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

标签 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。所以我得到了错误的触及值(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/

相关文章:

Java LibGDX 删除项目符号问题

java - 在java中的单链表中附加唯一值

java - 垃圾回收"Island of isolation"

php - 在刷卡器中从 php 加载图像时出现空错误

android - BluetoothA2dpSink 和BluetoothAvrcpController 类无法访问,如何添加到SDK?

java - 如何将libgdx中的图像 Actor 旋转中点?

java - 如何在Java中使用RegEx模式检查LinkedIn Web链接?

java - LibGDX down为up up为down gdx.input.getY()

android - 收到本地彩信DB Kitkat后如何写入?

java - Libgdx 获取缩放的触摸位置