我认为我有一个相当容易的问题。
我有2个FitViewports,如果我调整游戏大小,两个视口都会调整大小。 这很好:
正如你可以看到白色背景是正确的尺寸,中间的正方形也是 - 但我希望它与白色背景一样宽。
@Override
public void resize(int width, int height) {
backViewport.update(width, height); //white background
gameViewport.update(width, height); //square
}
我希望程序这样做:
@Override
public void resize(int width, int height) {
backViewport.update(width, height); //white background
gameViewport.update(backViewport.getWidth(), backViewport.getWidth());
}
获取新的背景宽度尺寸并将我的gameViewport设置为相同。 我会做宽度和高度.getWidth(),因为我希望它是方形的。
这不起作用,因为它在y轴上拉伸我的方格。
感谢您的时间,希望有人知道解决方案。
编辑:通过这样做,
gameViewport.setScreenSize(backViewport.getScreenWidth(), backViewport.getScreenWidth());
我实现了让正方形尺寸正确,但我仍然无法弄清楚,如何将它移回背景的中心。
答案 0 :(得分:0)
这是维基,再看一遍。
https://github.com/libgdx/libgdx/wiki/Viewports
您有一个方形视口和一个矩形视口。您的视口正在按预期工作,它们正在尝试适应屏幕。您遇到了问题,因为它们的大小不同。
我不认为你想要使用2个独立的视口,如果他们要采取相同的行动。而是使用一个视口和绘制像;
draw(x, y + bottomPadding)
绘制游戏时。