我正在使用 Java 和 Slick2D API 开发基于图块的策略游戏。
到目前为止一切顺利,但我的选项菜单陷入了停顿。我计划让用户能够在游戏过程中更改分辨率(毕竟这很常见)。
我已经可以切换到全屏并回到窗口,这很简单......
//"fullScreenOption" is a checkbox-like button.
if (fullScreenOption.isMouseOver(mouseX, mouseY)) {
if (input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON)) {
fullScreenOption.state = !fullScreenOption.state;
container.setFullscreen(fullScreenOption.state);
}
}
但是容器类(由 Slick 实现,不是我),与我之前的想法相反,似乎没有任何显示模式/分辨率更改功能!而且情况差不多……
我知道这是可能的,但我不知道负责的类是什么(如果存在的话)!
AppGameContainer 类,在游戏初始化开始时使用,是迄今为止我发现的唯一具有更改显示模式的函数的地方,但它仅在开始时使用,并且在 Slick 的教程中,被实现为本地。
//This is my implementation of it...
public static void main(String[] args) throws SlickException {
AppGameContainer app = new AppGameContainer(new Main());
// app.setTargetFrameRate(60);
app.setVSync(true);
app.setDisplayMode(800, 600, false);
app.start();
}
我可以将它定义为 Main 类上的静态全局,以便update()
在选项屏幕的方法中使用它,但这可能是一种(非常)糟糕的方法......