我正在编写一个简单的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);
}
});
答案 0 :(得分:1)
MadProgrammer解决了我的问题。只需使变量isPaused
易变。
谢谢!