gpt4 book ai didi

java - 如果暂停java游戏则无限循环

转载 作者:行者123 更新时间:2023-12-01 06:02:54 24 4
gpt4 key购买 nike

我有我的代码的一部分:

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);
}

但是如果我在释放转义键时为pauseDialog设置visible(true),则变量_input.escape始终设置为真值,因此对话框出现并消失并再次出现......就像无限循环一样。接下来我应该做什么?谢谢。

最佳答案

按下 Escape 后将“_input.escape”设置为 False?

或者“_input.escape”是否需要为 True 才能发生暂停?

如果是这样,则意味着出现了问题,因为您不需要按住 Escape 来保持游戏暂停?

<小时/>

看来您需要一个良好的逻辑系统,以便对话框不会被多次触发。

也许检查它是否已经触发并且不再触发它?

关于java - 如果暂停java游戏则无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53385889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com