当我按下太空按钮时,我想暂停并恢复我的蛇游戏。
if (keyCode == KeyEvent.VK_SPACE) {
timer.stop();
}
if (keyCode == KeyEvent.VK_ENTER ) {
timer.start();
}
我已经这样做但是为了恢复游戏我需要点击“输入”任何想法吗?
答案 0 :(得分:1)
我已经完成了这个但是为了恢复游戏我需要点击"输入"任何想法?
您可以使用相同的KeyStroke来停止/启动Timer。只需检查定时器的状态:
if (timer.isRunning())
timer.stop();
else
timer.start();
另外,不要使用KeyListner。您应该使用Key Bindings将KeyStroke
映射到Action
。
答案 1 :(得分:0)
@retatu感谢我的想法,我找到了解决方案,我只需要在构造函数中初始化锁定器,就像那样
public Controller(Snake snake,View view) {
this.snake = snake;
this.view = view;
locker = false;
}
然后在代码中使用它
if (keyCode == KeyEvent.VK_SPACE ){
if(!locker){
view.timer.stop();
locker=true;
}else{
locker = false;
view.timer.start();
}
}