2014-01-30 63 views
0

這裏是我的jsfiddle:http://jsfiddle.net/2ueWL/4/HTML 5的內部帆布重力嘗試擊中向上箭頭按鈕時

什麼我想要做的基本上是做一個重力效應。我的目標是讓球即使在球上時也能讓重力發揮作用;正如你可以看到球被擋住時那樣,重力不再起作用,而且我在我的代碼中找不到這個錯誤。

這裏是我的代碼的相關部分:

if (ball.jumping) { 
    if (ball.falling) { 
     if (ball.y > ball.MaxJump) { 
      ball.y -= gravity; 
     } 
     else { 
      ball.falling = false; 
     } 
    } 
    else { 
     if ((ball.y < ch - ball.radius)) { 
      ball.y += gravity; 
      if ((ball.y < Blocks.collection[0].blockY - ball.radius)) { 

       ball.y = Blocks.collection[0].blockY - ball.radius; 

       if (ball.OnBlock && ball.jumping && !ball.falling) { 
        ball.MaxJump = ball.y - 100; 
       } 
       else{ 
        ball.falling = true; 
        ball.jumping = false; 
       } 
      } 
     } 
     else { 
      if (!ball.OnBlock && ball.falling) 
       ball.y = ch - ball.radius; 
      ball.jumping = false; 
     } 
    } 

} else if ((keydown.up && !ball.jumping) || (keydown.up && ball.OnBlock)) { 
    ball.color = "#4285F4"; 

    ball.jumping = true; 
    ball.falling = true; 
} 

你能告訴我什麼,我失蹤,我怎麼能解決這個問題?

+0

剛剛看到你的其他問題http://stackoverflow.com/questions/21204001/gravity-inside-html5-canvas?rq=1你錯過了@DrHund與這個小提琴的答案http:// jsfiddle。 net/pjQb3 /關於重力的正確答案 – 2014-01-30 14:14:51

回答

0
  1. 你應該檢查球的X參數,看它是否在塊上。
  2. 要模擬重力,你應該不斷從速度而不是高度提取因子。
+0

你是什麼意思的速度? – Sora

+0

我的意思是球在給定的時間內向上移動的距離。 – 2014-01-30 13:54:40

+0

你的意思是重力值? – Sora