所以我刚刚开始学习Javascript,我正在关注https://www.w3schools.com/graphics/game_obstacles.asp中的游戏教程 这是我被困住的一点。如果您查看示例中的代码,他们会添加一个工作障碍,但游戏无法使用键盘。 (仅限按钮添加到网站) 我希望能够用我的键盘操纵角色,并且有一个工作障碍,这将在两个触摸时停止游戏。
我很感激能从中得到任何帮助。 (我使用的代码在上面链接的示例中)
答案 0 :(得分:0)
你需要比显示的例子更多一点。
以下是关键按下事件Link
的示例参考简短摘录:
“清除”JavaScript:
<script type="text/javascript"> function myKeyPress(e){ var keynum; if(window.event) { // IE keynum = e.keyCode; } else if(e.which){ // Netscape/Firefox/Opera keynum = e.which; } alert(String.fromCharCode(keynum)); } </script> <form> <input type="text" onkeypress="return myKeyPress(event)" /> </form>
您也可以在jquery中解决它
JQuery的:
$(document).keypress(function(event){ alert(String.fromCharCode(event.which)); });
答案 1 :(得分:0)
在代码中添加此项以移动块。
window.addEventListener('keydown', function(event) {
console.log(event);
if(event.keyCode === 38){
console.log(event);
myGamePiece.speedY -= 1;
} else if (event.keyCode === 37){
myGamePiece.speedX = -1;
} else if (event.keyCode === 39){
myGamePiece.speedX = 1;
} else if (event.keyCode === 40){
myGamePiece.speedY = 1;
}
});
答案 2 :(得分:0)
进行以下更改:
onkeypress
元素中添加body
个事件,即<body onkeypress="myFunction(event)" onload="startGame()" >
。myFunction
函数定义如下:
function myFunction(event)
{
switch(event.which || event.keyCode)
{
case 117: //Up 'U'
moveup();
break;
case 106: //Down 'J'
movedown();
break;
case 104: //Left 'H'
moveleft();
break;
case 107: //Right 'K'
moveright();
break;
}
}
您可以获得完整的工作代码here。您可以复制完整的代码并在本地运行。