我设置了空格键以推进我正在创建的游戏的“场景”。功能如下(密钥处理程序和所有内容都已正确实现):
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)前进到游戏屏幕。但是,我只希望空格键执行一次。问题是,用户可以通过按空格键无意中重置活动游戏。
有什么想法吗?
答案 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。