[英]W3Schools game tutorial trouble
因此,我刚刚开始学习Javascript,我正在关注https://www.w3schools.com/graphics/game_obstacles.asp中的游戏教程。这就是我一直坚持的观点。 如果您在示例中查看代码,他们会添加一个工作障碍,但游戏无法在键盘上运行。 (仅在网站上添加了按钮)我希望能够使用键盘操纵角色并遇到可操作的障碍物,当两者接触时,它将停止游戏。
我将不胜感激。 (我使用的代码在上面链接的示例中)
您将需要比所示示例更多的东西。
这是按键事件的示例参考链接
简短摘录:
“清除” 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)); });
在您的代码中添加此代码以移动块。
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;
}
});
进行以下更改:
body
元素中添加onkeypress
事件,即<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; } }
您可以在此处获得完整的工作代码。 您可以复制完整的代码并在本地运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.