简单Java 2D游戏-恢复游戏
Simple Java 2D game - resuming the game
我正在编写一个简单的 Java
游戏,在添加 pause/resume 功能时遇到了一些问题。
我的主游戏循环是这样的:
@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);
}
});
MadProgrammer 解决了我的问题。只需使变量 isPaused
易变即可。
谢谢!
我正在编写一个简单的 Java
游戏,在添加 pause/resume 功能时遇到了一些问题。
我的主游戏循环是这样的:
@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);
}
});
MadProgrammer 解决了我的问题。只需使变量 isPaused
易变即可。
谢谢!