e.keyCode不起作用

时间:2015-10-09 06:11:25

标签: javascript canvas

我是编程的新手,我在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>

2 个答案:

答案 0 :(得分:1)

在开发时,始终使用开放式控制台执行此操作。您收到以下错误:Uncaught SyntaxError: Unexpected token [

那是因为你不像那样在JS中创建数组。你实际上做了:var arr = [];。只需将var keys[]更改为var keys = [];

即可

答案 1 :(得分:0)

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);

你只需要正确创建一个数组然后它就可以正常工作:)