键盘快捷键仅在初始化时工作?

时间:2014-03-07 17:26:57

标签: java

我设置了空格键以推进我正在创建的游戏的“场景”。功能如下(密钥处理程序和所有内容都已正确实现):

public void KeySPACE() {

beginGame(player, "Map0");

}

beginGame,供参考,如下所示:

public void beginGame (Player player, String map) {

player.createProfile();

this.map = mapFile.getMap(map);
this.map = findSpawnPoint();
this.arena = this.map.arena;

this.enemyPath = new EnemyPath(this.map);
this.scene = 1; //Game playing state
this.wave.waveNumber = 0;

}

我的游戏从菜单屏幕开始,您可以通过按空格(即设置场景= 1)前进到游戏屏幕。但是,我只希望空格键执行一次。问题是,用户可以通过按空格键无意中重置活动游戏。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你能不能只添加一个if语句?

public void KeySPACE() {
    if(this.scene == 0){
        beginGame(player, "Map0");
    }
}

并且确保在比赛开始之前,你在场景0。 或者,您可以创建一个布尔值来执行相同的操作,例如:

public void KeySPACE() {
    if(!gameRunning) {
        beginGame(player, "Map0");
    }
}

你需要定义一个boolean gameRunning,它以false开头。您可以在beginGame方法中将其设置为true。