我有一个要在屏幕上使用的按钮。但是,当我调整桌面窗口大小时,触摸坐标会自行困惑。我不知道如何解决这个问题。
所以首先我正在使用
cam = new PerspectiveCamera();
viewport = new FitViewport(screenWidth, screenHeight, cam);
并调用
viewport.update(width, height, true);
在我的调整大小方法中,这样我的屏幕看起来总是与其原始大小成比例。
我的意见
Gdx.input.setInputProcessor(new InputHandler((float) scaleX, (float) scaleY, world));
现在调整窗口大小后,图像位于正确的位置,但触摸坐标不正确。这有点难以解释,但我会尽力而为。体重秤工作正常。但是,由于我使用的是 Fitviewport,当我调用 Gdx.graphics.getHeights() 或 .getWidth() 时,它会获取整个屏幕的高度和宽度(包括仅增加一侧时的黑色区域)。因此,这使我的输入比例与整个屏幕成比例。虽然图像正在通过 Fitviewport 进行说明,并根据其原始大小按比例调整大小。这使得我的输入位置与绘制的图像相比,按钮响应太左或太右或太上或太下。 我也尝试过 cam.unproject。我该如何解决这个问题?
我提供了一些日志,希望能帮助您更好地了解我的情况。
---未调整大小(原始)---
调整大小调用
调整大小 x : 480 y : 800
缩放 x:1.0 y:1.0
(坐标按钮原来的位置和按钮响应输入的位置)
缩放前 X:398 Y:75
缩放后 X:398 Y:75
Gdx 输入 X : 398 Y : 75
凸轮取消项目 X:240.26144 Y:400.53613
---调整后---
调整大小
调整大小 x : 807 y : 743
比例 x:1.68125 y:0.92875
-按钮出现在屏幕上的位置-
缩放前 X:542 Y:38
缩放后 X:322 Y:40
Gdx 输入 X : 542 Y : 38
凸轮取消项目 X:240.13632 Y:400.5924
-按钮响应的触摸坐标-
缩放前 X:677 Y:36
缩放后 X:402 Y:38
Gdx 输入 X:677 Y:36
凸轮取消项目 X:240.2692 Y:400.59595
谢谢!
最佳答案
关于java - 调整 libGDX 大小后触摸位置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25222304/