2017-05-03 69 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个元素的变量。我们需要查看其余的代码才能知道这些代码是什么。 –