2017-05-03 113 views
-1

不工作我試圖做到這一點,(不一樣的,這是我在做什麼的例子)全局變量的increasement在功能

var health = 1; 

function example(){health++;} 

if (health == 2) {alert("done");} 

但它不工作。它只在health++ health==2功能相同時才起作用。但我不想將health==2包含到函數示例中。一個全局,一個功能和一個功能不足(相同的變量)不起作用,我不知道爲什麼,你能解釋一下還是給我一個解決方案?謝謝...

編輯...

我的代碼可以如下圖所示。我在這裏錯過了什麼?

首先

var health = 2; 

 function collision6($taskapsa2, $character) { 
      var x1 = $taskapsa2.offset().left; 
      var y1 = $taskapsa2.offset().top; 
      var h1 = $taskapsa2.outerHeight(true); 
      var w1 = $taskapsa2.outerWidth(true); 
      var b1 = y1 + h1; 
      var r1 = x1 + w1; 
      var x2 = $character.offset().left; 
      var y2 = $character.offset().top; 
      var h2 = $character.outerHeight(true); 
      var w2 = $character.outerWidth(true); 
      var b2 = y2 + h2; 
      var r2 = x2 + w2; 

      if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return; 
    else {if($character.is(":visible")) { 
       $("#character").hide(); 
       if ($("#character").is(':hidden')) { 
     // ... 
     document.getElementById("demo").innerHTML = "OYUNU KAYBETTIN!"; 
     health++; // here 



    } 
       $("#mavikutu").show(); 
       var audio111 = new Audio('kaybedince.wav'); 
       audio111.play(); 
      } } 

     } 


    window.setInterval(function() { 
     $('#result').text(collision6($('#taskapsa2'), $('#character'))); 
    }, 200); 

;第三

collision6(); 
if (health==3){alert("abc");} 
+6

你沒有調用該函數。 – Barmar

+1

如果你在最後一行之前加上'example();'它應該可以工作。 – Barmar

+0

如果語句最有可能需要在example()方法內部生活....或者您需要具有檢查變量或使用事件消息傳遞的代碼。如果不會奇蹟般地繼續檢查。 – epascarello

回答

1

您呼叫的collision6()功能,不帶任何參數,但在函數聲明,預計都要求2個參數修改健康變量。

您需要將參數$taskapsa2$character傳遞給collision6函數。

+0

我試圖做到這一點,但它不能再次工作,我應該在這裏複製/粘貼我的原始代碼? –

+0

如果我正確理解你,我就像這樣寫>>> >>> collision6($ taskapsa2,$ character);在最後一行,但它不再工作... –

+0

您需要傳入正在進行碰撞的2個元素的變量。我們需要查看其餘的代碼才能知道這些代碼是什麼。 –