我有一个问题无法解决。我在游戏中使用 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 做同样的事情。我的问题是,如何忽略黑条来获取游戏世界中的位置?我花了很多时间搜索但没有找到任何有用的解决方案。