只是一个仍在尝试学习WebGL和JS的快速问题。 谢谢你的任何答案,我试着让它工作,但我似乎无法做到。 谢谢。 带着爱。 约瑟夫。
编辑:我尝试使用此代码:
GONE
为了让我的小家伙跳起来,不过它使之前的代码关闭了。
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));
} );
不行。 有什么建议?
EDIT。
在一张纸上做了一些草图,我认为这段代码应该可以工作,因为我以前的逻辑,(它假设要移动一块。
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));
} );
因此,案例32被认为是我的“跳跃”案例,而另外两个是左右转,所以检查控制台它使我的子缓冲区溢出,这是什么以及如何解决它?
答案 0 :(得分:1)
$(document).bind('keydown',function(e){
//space has keyCode 32
if(e.keyCode === 32){
// Do stuff
}
});