我在这里遇到问题。在我的游戏开始时,它要求" Ready"如果你点击它,它将重置所有内容,以防万一游戏出现故障,它将播放用户在游戏开始时选择的适当级别(主菜单)。我试图为每个级别制作布尔值,所以我可以告诉他或她在玩什么级别这是我尝试过的并且没有运气。
var playingLevel1 = false;
var playingLevel2 = false;
$('#level1Button').click(function() {
playingLevel1 = true;
});
$('#level2Button').click(function() {
playingLevel2 = true;
});
$('#ready').click(function() {
if(playingLvl2) {
startLvl1(); //and that would reset and start the level one
}
if(playingLvl2) {
startLvl2(); //and that would reset and start the level two
}
});
你会认为这会奏效吗?但它并没有。我不认为我可能正在使用布尔吗?
我只输入了示例代码,但它与原始代码完全相同。
好的,所以我决定使用一个整数,但仍然无法在这里工作
var currentLevel = 0;
$('#level1').click(function () {
currentLevel = 1;
$("#mainMenu").hide();
levelOne();
});
$('#level2').click(function () {
currentLevel = 2;
$("#mainMenu").hide();
levelTwo();
});
function startLvl1() {
$("#levelOne").css('margin-top', '-1520px');
$("#player").css('border', 'solid 1px green');
$("#player").css('margin-left', '223px');
$('#levelComplete').hide();
$('#levelOne').animate({
'margin-top': '+=1520px'
}, speed);
handleCollisions();
}
function startLvl2() {
$("#levelOne").css('margin-top', '-4560px');
$("#player").css('border', 'solid 1px green');
$("#player").css('margin-left', '223px');
$('#levelComplete').hide();
$('#levelOne').animate({
'margin-top': '+=4560px'
}, speed);
handleCollisions();
}
$('#yes').click(function () {
if (currentLevel == 1) {
startLvl1();
}else if (currentLevel == 2) {
startLvl2();
}
答案 0 :(得分:2)
不考虑使用布尔值,而是考虑存储级别数的整数。
var currentLevel = 0;
$('#level1Button').click(function() {
currentLevel = 1;
});
$('#level2Button').click(function() {
currentLevel = 2;
});
$('#ready').click(function() {
if (currentLevel == 1)
startLvl1();
else if (currentLevel == 2)
startLvl2();
});
这应该是正确的方法! :)
答案 1 :(得分:0)
布尔变量拼写错误?即,'playingLevel1'是定义的变量,但你的if语句有'playingLvl1'。因此,由于未定义该变量,因此始终为false。同样适用于'playingLevel2'。