e.keyCode doesn't work

e.keyCode doesn't work

本文关键字:work keyCode doesn      更新时间:2023-09-26

我是编程新手,我在youtube视频中看到的任何东西都可以用画布创建游戏。这个代码在视频中工作,但对我不起作用。我在屏幕上看不到按键代码,所以按键代码无法工作。我不知道代码有什么问题…

我的代码:

var canvas = document.getElementById("mainCanvas");
var context = canvas.getContext("2d");
var keys[];
window.addEventListener("keydown", function(e) {
  alert(e.keyCode);
}, false);
<html>
<head>
  <title>GAME</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
  <canvas id="mainCanvas" width="500" height="400"></canvas>
  <script src="script.js"></script>
</body>
</html>

总是在开发时使用开放控制台。您收到以下错误:Uncaught SyntaxError: Unexpected token [ .

这是因为JS中不会这样创建数组。实际上是:var arr = [];。只需将var keys[]更改为var keys = [];

jsFiddle: https://jsfiddle.net/02f6nyh9/

javascript

var canvas = document.getElementById("mainCanvas");
var context = canvas.getContext("2d");
var keys = new Array();
// var keys = []; // Either of these work
window.addEventListener("keydown", function(e) {
  alert(e.keyCode);
}, false);
context.fillRect(0,0,500,400);

你只需要创建一个正确的数组,然后它工作良好:)