无限循环如果暂停java游戏
我有一部分代码:无限循环如果暂停java游戏,java,Java,我有一部分代码: while(_running){ // render screens if( _input.escape) { if( isPaused ) { pauseDialog.setVisible(false); remuse(); // set isPaused = false, _running = true and render scre
while(_running){
// render screens
if( _input.escape) {
if( isPaused ) {
pauseDialog.setVisible(false);
remuse(); // set isPaused = false, _running = true and render screens
}
else {
pause(); // set isPaused = true and _running = false and render screens
pauseDialog.setVisible(true);
}
}
}
像这样输入
public void keyPressed(KeyEvent e) {
keys[e.getKeyCode()] = true;
}
@Override
public void keyReleased(KeyEvent e) {
keys[e.getKeyCode()] = false;
}
还有波塞迪亚洛
public class PauseDialog extends JDialog{
JButton b1,b2;
public PauseDialog() {
setLayout(new GridLayout(2, 1,8,8));
setSize(new Dimension(85, 180));
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
b1 = new JButton("resume");
b2 = new JButton("exit");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("resume");
}
});
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("exit");
}
});
add(b1); add(b2);
}
但若我在释放escape键时为pauseDialog设置VisibleTrue,变量_input.escape总是设置为true值,所以对话框会出现、消失并再次出现。。。就像一个无限循环。接下来我该怎么办?谢谢。按下escape后,是否将input.escape设置为False 或者_input.escape是否需要为True才能暂停 如果是这样的话,那就意味着出了问题,因为你不需要按住Escape键来暂停游戏 看起来你需要一个好的逻辑系统,这样对话框就不会被多次触发
也许可以检查它是否已经触发并且不再触发?按下时设置为true,释放时设置为false,我已经将冷却时间设置为调用的暂停代码的2倍之间。但不是working@BlackW-设置使其在按下时改变状态,而不是在按下时变为true,在释放时变为false…请尝试e.preventDefault中的keyPressed和keyReleased函数…并记录:b1和b2是非常糟糕的名称。使用能够告诉读者变量背后的内容的名称。将remuse更改为resume。另外,运行的是什么?你可以边写边写。