Libgdx - Android - 我的坐标原点不在最下面
Libgdx - Android - My coordinates have not the origin in the very bottom
我有一个 480x800 的分辨率,我正在使用以下代码来设置它:
cam = new OrthographicCamera();
cam.setToOrtho(false, VIRTUAL_WIDTH, VIRTUAL_HEIGHT);
viewport = new FitViewport(VIRTUAL_WIDTH, VIRTUAL_HEIGHT, cam);
我的代码没有什么奇怪的,但我的问题是原点 (0,0) 不在最底部,而是在上面 20 像素处。
我该如何解决?
FitViewport 不保证 0,0 在居中时位于角落。所有其他现有的 Viewport 子类都可以,因此请使用其中一个。并确保您在 Game 或 Screen 子类的 resize
方法中的视口上调用 update
。
编辑:
其实FillViewport也不保证0,0在角落里,因为0,0可能会被裁掉
@Tenfour04 应该就在这里,但我试着解释一下:
FitViewport
用于保证虚拟宽高比 (VIRTUAL_HEIGHT/VIRTUAL_WIDTH) 与屏幕上的宽高比相同。因此,如果您的 "real" 纵横比(屏幕)不同,则会显示虚拟的黑色边框,以创建与虚拟纵横比匹配的 "window"。
因此P(0/0)不是屏幕的左下角,而是新的"window".
的左下角
如果这不是您想要的,还有其他 Viewport
可能符合您的需要。
例如,StretchViewport
支持虚拟屏幕尺寸,并简单地拉伸图像以适应屏幕的实际纵横比。这对你的情况可能更好,但在其他一些情况下,拉伸的图像看起来不太好......
我有一个 480x800 的分辨率,我正在使用以下代码来设置它:
cam = new OrthographicCamera();
cam.setToOrtho(false, VIRTUAL_WIDTH, VIRTUAL_HEIGHT);
viewport = new FitViewport(VIRTUAL_WIDTH, VIRTUAL_HEIGHT, cam);
我的代码没有什么奇怪的,但我的问题是原点 (0,0) 不在最底部,而是在上面 20 像素处。 我该如何解决?
FitViewport 不保证 0,0 在居中时位于角落。所有其他现有的 Viewport 子类都可以,因此请使用其中一个。并确保您在 Game 或 Screen 子类的 resize
方法中的视口上调用 update
。
编辑: 其实FillViewport也不保证0,0在角落里,因为0,0可能会被裁掉
@Tenfour04 应该就在这里,但我试着解释一下:
FitViewport
用于保证虚拟宽高比 (VIRTUAL_HEIGHT/VIRTUAL_WIDTH) 与屏幕上的宽高比相同。因此,如果您的 "real" 纵横比(屏幕)不同,则会显示虚拟的黑色边框,以创建与虚拟纵横比匹配的 "window"。
因此P(0/0)不是屏幕的左下角,而是新的"window".
的左下角
如果这不是您想要的,还有其他 Viewport
可能符合您的需要。
例如,StretchViewport
支持虚拟屏幕尺寸,并简单地拉伸图像以适应屏幕的实际纵横比。这对你的情况可能更好,但在其他一些情况下,拉伸的图像看起来不太好......