1

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

1 回答 1

2

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

于 2012-06-22T19:57:35.490 回答