使 2 个视口相互依赖 - libgdx
Make 2 viewports depending on each other - libgdx
我有一个我觉得比较简单的问题。
我有 2 个 FitViewports,如果我调整游戏大小,两个 Viewports 都会调整大小。
效果很好:
如您所见,白色背景的尺寸合适,中间的正方形也是-但我希望它与白色背景一样宽。
@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 设置为相同。
我会做 width- 和 height- .getWidth(),因为我希望它是正方形的。
这不起作用,因为它在 y 轴上拉伸我的正方形。
感谢您的宝贵时间,希望有人知道解决方案。
编辑:通过这样做,
gameViewport.setScreenSize(backViewport.getScreenWidth(), backViewport.getScreenWidth());
我实现了正确大小的正方形,但我仍然不知道如何将它移回背景的中心。
这里是wiki,再看一遍
https://github.com/libgdx/libgdx/wiki/Viewports
您有一个方形视口和一个矩形视口。您的视口按预期工作,它们正在尝试适应屏幕。您遇到了问题,因为它们的尺寸不同。
我不认为你想使用 2 个单独的视口,如果它们的行为相同的话。而是使用一个视口并像这样绘制;
draw(x, y + bottomPadding)
绘制游戏时。
我有一个我觉得比较简单的问题。
我有 2 个 FitViewports,如果我调整游戏大小,两个 Viewports 都会调整大小。 效果很好:
如您所见,白色背景的尺寸合适,中间的正方形也是-但我希望它与白色背景一样宽。
@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 设置为相同。 我会做 width- 和 height- .getWidth(),因为我希望它是正方形的。
这不起作用,因为它在 y 轴上拉伸我的正方形。
感谢您的宝贵时间,希望有人知道解决方案。
编辑:通过这样做,
gameViewport.setScreenSize(backViewport.getScreenWidth(), backViewport.getScreenWidth());
我实现了正确大小的正方形,但我仍然不知道如何将它移回背景的中心。
这里是wiki,再看一遍
https://github.com/libgdx/libgdx/wiki/Viewports
您有一个方形视口和一个矩形视口。您的视口按预期工作,它们正在尝试适应屏幕。您遇到了问题,因为它们的尺寸不同。
我不认为你想使用 2 个单独的视口,如果它们的行为相同的话。而是使用一个视口并像这样绘制;
draw(x, y + bottomPadding)
绘制游戏时。