2014-11-22 192 views
1

我在這裏遇到問題。在遊戲開始時,它會詢問「準備就緒」,如果您點擊它,它會重置所有內容,以防萬一遊戲出現故障,並且會在遊戲開始時(主菜單)彈出用戶選擇的適當級別。我試圖爲每個級別製作布爾值,所以我可以說出他或她玩的是什麼水平,這是我的嘗試,並沒有得到運氣。布爾邏輯誤解

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(); 
     } 
+1

'$('#ready')。click'中的第一個條件「if」應該是'if(playingLvl1)'並且你有'if(playingLvl2)' – 2014-11-22 02:39:30

回答

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

哦哇從來沒有想到這一點,非常感謝我現在就試試吧! – 2014-11-22 02:41:28

+0

當然@KarinaAyoub。如果您遇到任何困難,請告訴我們。 ':)' – 2014-11-22 02:41:57

+0

嗯,它實際上沒有工作 – 2014-11-22 02:48:52

0

布爾變量拼寫錯誤?即,'playingLevel1'是定義的變量,但是你的if語句具有'playingLvl1'。所以,由於該變量沒有被定義,它總是假的。 'playingLevel2'也一樣。