简单的Java 2D游戏 - 恢复游戏

时间:2015-01-08 20:20:27

标签: java swing 2d

我正在编写一个简单的Java游戏,并在添加暂停/恢复功能时遇到了一些问题。

我的主要游戏循环如下:

    @Override
    public void run() {
        try {

        while (true) {
            if (!isPaused) {
                Thread.currentThread().sleep(5);
                diamondSpawner();
                collisionDetector();
                repaint();
            } else {

            }
        }
    } catch (InterruptedException e) {
    }
}

此外,我在主要课程中添加了KeyListener,等待用户按下' P'暂停比赛。不幸的是,问题是KeyListener在暂停状态下没有收听密钥。我怎么能听呢?

这是主要类中的KeyListener'构造:

this.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent evt) {
                if (evt.getKeyCode() == KeyEvent.VK_P) {
                    isPaused = !isPaused;
                }
                helicopter.move(evt);
            }
        });

1 个答案:

答案 0 :(得分:1)

MadProgrammer解决了我的问题。只需使变量isPaused易变。 谢谢!