Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 键盘快捷键在初始化时只工作一次?_Java - Fatal编程技术网

Java 键盘快捷键在初始化时只工作一次?

Java 键盘快捷键在初始化时只工作一次?,java,Java,我设置了空格键来推进我正在创建的游戏的“场景”。函数如下所示(密钥处理程序和所有内容都已正确实现): 作为参考,beginGame如下所示: public void beginGame (Player player, String map) { player.createProfile(); this.map = mapFile.getMap(map); this.map = findSpawnPoint(); this.arena = this.map.arena; this.enemy

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

作为参考,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)。但是,我只希望空格键执行此操作一次。问题是,用户可以通过按空格键无意中重置活动游戏


有什么想法吗?

你能不能添加一个if语句

public void KeySPACE() {
    if(this.scene == 0){
        beginGame(player, "Map0");
    }
}
在游戏开始前,确保你在第0场。 或者,您也可以创建一个布尔值来执行相同的操作,例如:

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

您需要定义一个以false开头的布尔gameRunning。您可以在beginGame方法中将其设置为true。

当然可以。我一心想检查场景==1。不知道为什么。谢谢你指出我的愚蠢psometime有助于定期休息:)。
public void KeySPACE() {
    if(!gameRunning) {
        beginGame(player, "Map0");
    }
}