LibGDX 有一个坐标系,其中 (0,0) 位于左下角。 (如这张图片:http://i.stack.imgur.com/jVrJ0.png)
这让我头疼不已,主要是因为我正在移植一个我已经用通常的坐标系(其中 0,0 位于左上角)制作的游戏。
我的问题:有什么简单的方法可以改变这个坐标系吗?
最佳答案
如果你使用相机(你应该这样做),改变坐标系非常简单:
camera= new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
camera.setToOrtho(true, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
如果您使用 TextureRegions 和/或 TextureAtlas,除此之外您需要做的就是调用 region.flip(false, true)。
我们默认使用 y-up 的原因(您可以如上图所示轻松更改)如下:
- 您的模拟代码很可能会使用带 y-up 的标准欧几里得坐标系
- 如果你去 3D,你有 y-up
- 默认坐标系是 OpenGL 中的右手坐标系,y 向上。当然,您可以通过一些矩阵魔法轻松改变这一点。
libgdx 中我们使用 y-down 的唯一两个地方是:
- 像素图坐标(左上角原点,y-down)
- 在窗口坐标中给出的触摸事件坐标(左上角原点,y-down)
同样,您可以使用相机或一点点矩阵数学轻松地将使用的坐标系更改为您想要的任何坐标系。
关于java - 在 LibGDX (Java) 中更改坐标系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708379/