每隔几秒钟,我的游戏正在播放的窗口会短暂消失,然后重新出现。我在Windows 7上使用最新版本的Slick(Java游戏库)。这是我正在使用的代码:
package Main;
import org.newdawn.slick.*;
public class Main extends BasicGame{
public Main() {
super("Flashing window issue");
}
@Override
public void init(GameContainer gc) throws SlickException {
}
@Override
public void update(GameContainer gc, int delta) throws SlickException {
}
@Override
public void render(GameContainer gc, Graphics g) throws SlickException {
}
public static void main(String[] args) throws SlickException {
AppGameContainer app = new AppGameContainer(new Main());
app.setDisplayMode(800, 600, false);
app.start();
}
}
如何解决此问题?
到目前为止的进展:
更新:尚未找到解决方案,但以全屏模式播放游戏可消除闪烁。也许这将导致一个解决方案......
更新2:监控任务管理器显示,当游戏闪烁时,其在任务管理器中的状态为“无响应”。
更新3:似乎只有在鼠标离开游戏区域时才会发生(无论游戏窗口是否失去焦点)。
更新4 - 当前解决方法:
app.setMouseGrabbed(true); // force the mouse to stay in the game area
然后在更新(...)中:
// exit when escape is pressed:
if (gc.getInput().isKeyDown(Input.KEY_ESCAPE)) {
gc.exit();
}
答案 0 :(得分:2)
我不熟悉slick2d,但是它有双缓冲的概念吗?如果你出现闪烁,这将是你想要打开的东西。