如何用if语句制作一个菜单屏幕



我正在尝试为一款"游戏"设置三种难度设置。我用它来做实验。学习JavaScript。

我试过设置一个变量和三个值为1、2或3的键输入。把每一个"困难"联系起来;根据上述变量的一个值设置为if语句。按键确实成功地设置了变量,但是它们并没有像我所希望的那样影响游戏。

但是,如果在将变量设置为一个值之后,我替换了"var gameMode = 0"使用"var gameMode",它将打开该难度级别。我该如何改正呢?

以下是我目前在菜单中所做的:
var gameMode = 0;
if (gameMode === 0) {
draw = function() {
background(255, 255, 255);
fill(0, 0, 0);
text("Mover Game", 160, 200);
text(gameMode, 160, 220);
keyPressed = function() {
if (keyCode === 112) {
gameMode = 1;
}
if (keyCode === 113) {
gameMode = 2;
}
if (keyCode === 114) {
gameMode = 3;
}
};
};
}

你的代码非常有限,但是当你看代码时,

您在开始设置var gameMode = 0;,在keyPressed功能中,您只是检查是否按下了适当的键并将值分配给gameMode。你必须在新分配的游戏模式下重新运行游戏。

我建议使用两个函数。一个用来运行游戏,另一个用来处理按键和启动游戏。

function runMyGame(gameMode = 0){
// defaults the gameMode to 0 so it will start the game in 0 mode initially
// here comes your game codes
}
// adding keypress listener
document.addEventListener("keypress", myKeyPressFunction); 
// function which fires on key press
function myKeyPressFunction(){
if (keyCode === 112) {
gameMode = 1;
runMyGame(gameMode);
}
if (keyCode === 113) {
gameMode = 2;
runMyGame(gameMode);
}
if (keyCode === 114) {
gameMode = 3;
runMyGame(gameMode);
}
}

最新更新