LibGDX 有一个坐标系,其中 (0,0) 位于左下角。 (就像这张图片:https://i.stack.imgur.com/jVrJ0.png https://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,你就成功了
- OpenGL 中的默认坐标系是右手坐标系,y 向上。当然,您可以使用一些矩阵魔法轻松更改它。
libgdx 中我们使用 y-down 的唯一两个地方是:
- 像素图坐标(左上角原点,y轴向下)
- 以窗口坐标给出的触摸事件坐标(左上角原点,y 轴向下)
同样,您可以使用相机或一点点矩阵数学轻松地将所使用的坐标系更改为您想要的任何坐标系。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)