0

我正在使用 Slick2D 编写一个小游戏,经过很长时间的研究,我改变了主意,决定我确实希望游戏可以调整大小。所以我尝试使用 app.setResizable() 命令,正如 Slick2D wiki 上所建议的那样(以及这里:如何使 slick2d 可调整大小)。但是我的eclipse就是没找到那个方法,于是又上网查了一下,发现所有和resize相关的属性和方法都不见了(比如wasResized()、isResized()、setResizable()等) . 我有最新版本的 Slick2D 和 eclipse,可能答案很明显,但我一直在寻找几个小时,却找不到。

谢谢你的帮助。

4

1 回答 1

2

在您的 StateBasedGame 中,在您的 main 方法中,您可以调用 lwjgl 的 Display 对象,

 Display.setResizable(true);

这将允许您调整/最大化显示窗口。确保您拥有最新版本的 lwjgl!

如果你想调整窗口大小并确保图形对象刷新它的大小,你应该在你的更新方法中调用它:

    if(Display.getWidth() != container.getWidth() || Display.getHeight() != container.getHeight()) {
        try {
            app.setDisplayMode(Display.getWidth(), Display.getHeight(), false);
            app.reinit();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

app 是你的 AppGameContainer 类。如果你在做游戏状态,你可以在初始化时发送一个对状态的引用。如果没有,您可以对容器进行全局引用,以便可以在类中的任何位置使用此代码片段。

于 2014-03-11T19:08:53.920 回答