小编Fer*_*ego的帖子

获取坐标时如何忽略fitviewport(LibGdx)上的黑条?

我有一个问题无法解决。我在游戏中使用 FitViewport 风格的舞台。

stage = new Stage(new FitViewport(SCREEN_WIDTH, SCREEN_HEIGHT));
Run Code Online (Sandbox Code Playgroud)

但是当我尝试获取触地坐标而屏幕上出现黑条时出现问题(如果屏幕具有正确的比例,则没有问题)。

@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) 
{
    xTouch = (int) (screenX * SCREEN_WIDTH/Gdx.graphics.getWidth());
    yTouch = (int) ((SCREEN_HEIGHT) - screenY * (SCREEN_HEIGHT)/Gdx.graphics.getHeight());
}
Run Code Online (Sandbox Code Playgroud)

我用这种方法获得的坐标给出了屏幕上的位置,而不是我的游戏世界上的位置。camera.unproject 做同样的事情。我的问题是,如何忽略黑条来获取游戏世界中的位置?我花了很多时间搜索但没有找到任何有用的解决方案。

java viewport touch coordinates libgdx

5
推荐指数
1
解决办法
913
查看次数

标签 统计

coordinates ×1

java ×1

libgdx ×1

touch ×1

viewport ×1