繁体   English   中英

使用用户输入在 HTML5 Canvas 中移动对象

[英]Moving an Object in a HTML5 Canvas with User Input

我只是 JavaScript 的新手,我的代码有问题,我试图通过用户输入在画布周围移动对象。

使用 Firefox 运行它可以正常工作,但是使用 Chrome 移动方块的用户输入不起作用,我想知道这是为什么?

<!DOCTYPE html>
<html>
 <head>
    <canvas id = "gameCanvas" width="400" height="400" style = "border:1px solid #000000;"></canvas>
   <style type="text/css"></style>
</head>
<body>
<script type="text/javascript">
   var c = document.getElementById("gameCanvas");
    var ctx = c.getContext("2d");
    ctx.fillStyle = "rgb(255, 0, 0)";

    var snake = {
        x: 5
        , y: 5
      };


    function drawSnake() {
        ctx.fillRect(snake.x ,snake.y,20,20);
      }

    window.addEventListener("keypress", function(event) { 
        if (event.keyCode == 39)
          snake.x += 5;
        else if (event.keyCode == 37)
          snake.x -= 5;
        else if (event.keyCode == 38)
          snake.y -= 5;
        else if (event.keyCode == 40)
          snake.y += 5;

        drawSnake();
      });

   drawSnake();
</script>
</body>
</html>

您必须将keypress事件更改为keydown才能使其在基于 IE 和 Chromium 的浏览器中工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM