使2个视口相互依赖 - libgdx

时间:2017-03-02 22:55:29

标签: android-studio libgdx resize viewport

我认为我有一个相当容易的问题。

我有2个FitViewports,如果我调整游戏大小,两个视口都会调整大小。 这很好:

  1. When I resize my window (smaller).

  2. But this happens when im resizing it to be bigger.

  3. 正如你可以看到白色背景是正确的尺寸,中间的正方形也是 - 但我希望它与白色背景一样宽。

    @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());
    

    我实现了让正方形尺寸正确,但我仍然无法弄清楚,如何将它移回背景的中心。

1 个答案:

答案 0 :(得分:0)

这是维基,再看一遍。
https://github.com/libgdx/libgdx/wiki/Viewports

您有一个方形视口和一个矩形视口。您的视口正在按预期工作,它们正在尝试适应屏幕。您遇到了问题,因为它们的大小不同。

我不认为你想要使用2个独立的视口,如果他们要采取相同的行动。而是使用一个视口和绘制像;

draw(x, y + bottomPadding)   

绘制游戏时。