2016-01-29 20 views
-4

只是一個簡單的問題,仍然試圖學習WebGL和JS。 感謝您的任何答案,我試着讓它工作,但我似乎無法。 謝謝。 用愛。 Josef。如何在JS/HTML跳轉中創建一個小塊?

編輯:我嘗試使用此代碼:

window.addEventListener("keydown", function(e){ 
     switch(e.keyCode) { 
      case 32: // Space bar 
       tmove = 1; 
       ymove = 2; 
       break; 

     }    
     for(i=0; i<4; i++) { 
      vertices[i][0] += tmove; 
      for(r = 0; r < 4; r++) 
      { 

      vertices [0][r] += ymove; 

      } 
     } 

     gl.bufferSubData(gl.ARRAY_BUFFER, 0, flatten(vertices)); 
    }); 

爲了讓我的小傢伙跳,但是它使前者的代碼了。

window.addEventListener("keydown", function(e){ 
     switch(e.keyCode) { 
      case 32: // Space bar 
       tmove = 1; 
       ymove = 2; 
       break; 

     }    
     for(i=0; i<4; i++) { 
      vertices[i][0] += tmove; 
      for(r = 0; r < 4; r++) 
      { 

      vertices [0][r] += ymove; 

      } 
     } 

     gl.bufferSubData(gl.ARRAY_BUFFER, 0, flatten(vertices)); 
    }); 

不起作用。 有什麼建議嗎?

編輯。

難道在一張紙上的一些草圖和我想通此代碼應,因爲我以前的邏輯的工作,(它的假設做出塊移動。

window.addEventListener("keydown", function(e){ 
     switch(e.keyCode) { 
      case 37: // left 
       xmove = -0.05; 
       break; 
      case 39: //right 
       xmove = 0.05; 
       break; 
      case 32: 
      xmove = 0.01; 
      ymove = 0.3; 
      for(r = 0; r < 4; r++){ 
      vertices[r][0] +=xmove; 
      for(t = 0; t < 4; t++){ 
      vertices[r][t] +=ymove; 
      }} 
      break; 
     }    
     for(i=0; i<4; i++) { 
      vertices[i][0] += xmove; 
     } 


     gl.bufferSubData(gl.ARRAY_BUFFER, 0, flatten(vertices)); 
    }); 

所以,外殼32被假設是我的「跳」的情況下,而另外兩個是左右轉彎,因此檢查它使我的子緩衝區溢出控制檯,那是什麼,如何解決呢?

+0

顯示你已經嘗試過什麼,所以我們可以告訴你哪裏出了問題,朋友。 –

+0

http://stackoverflow.com/help/how-to-ask給這個感覺第一!歡迎來到SO – Pogrindis

+0

試圖做些什麼工作?...讓我們看看,讓人們可以幫助 – charlietfl

回答

1
$(document).bind('keydown',function(e){ 
    //space has keyCode 32 
    if(e.keyCode === 32){ 
    // Do stuff 
    } 
});