游戏窗口闪烁

时间:2012-06-22 19:54:34

标签: java graphics slick2d

每隔几秒钟,我的游戏正在播放的窗口会短暂消失,然后重新出现。我在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();
   }

1 个答案:

答案 0 :(得分:2)

我不熟悉slick2d,但是它有双缓冲的概念吗?如果你出现闪烁,这将是你想要打开的东西。