2014-04-28 39 views
0

我想在一個最終的項目在javascript中做乒乓遊戲,但撞擊檢測不適用於我的左槳。右槳將工作,但左側不會。如果我調整了大於小於數值的值,球就會癲癇發作。試圖讓碰撞檢測工作pong。左槳不會工作

我真的不知道如何解決這個問題。請幫忙!

//hit detection right paddle 
if((ballinfo.x + ballinfo.size) <=(boxtwo.x)){ 
       if (ballinfo.y > boxtwo.y){ 
        if((ballinfo.y + ballinfo.size) <= (boxtwo.y + boxtwo.height)){ 
         ballinfo.velocity.x *= -1; 
         console.log("collision"); 
        } 
       } 
      } 

//hit detection left paddle 
if((ballinfo.x + ballinfo.size) <=(box.x)){ 
       if (ballinfo.y < box.y){ 
        if((ballinfo.y + ballinfo.size) <= (box.y + box.height)){ 
         ballinfo.velocity.x *= -1; 
         console.log("collisionleft"); 
        } 
       } 
      } 

      ballinfo.x += ballinfo.velocity.x; 
      ballinfo.y += ballinfo.velocity.y; 

+0

如果不知道這些數值應該表示什麼,有點難以分辨。有一點似乎很奇怪,那兩個部分之間唯一真正的區別是ballinfo.y和box.y.之間的比較。我希望差異涉及x值。 –

回答

1

它看起來像錯誤的比較操作是你的左右之間反轉。嘗試更改左側部分中的前兩個比較運算符,看看是否有幫助。

if((ballinfo.x + ballinfo.size) >=(box.x)){ 
      if (ballinfo.y > box.y){ 

我假設上y中的檢查是對槳,所以代碼應該有左和右槳(替換對象名稱,當然)之間是相同的。