使用用户输入在HTML5画布中移动对象
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的浏览器中工作。
相关文章:
- css停止图像在滚动中移动
- 如何在react js中移动第二个组件
- 如何在JavaScript画布中移动此形状
- 如何使图像在画布中移动
- 在javascript中移动对象内部的元素
- 当DOM节点在DOM中移动时,如何阻止Firefox触发mouseleave
- 如何在小页面中移动折叠下方的渲染阻塞javascript
- 用鼠标在threejs场景中移动对象
- 使用箭头键在画布中移动形状
- 如何在kineticjs中移动图像
- 无法在 NG 网格中行的编辑字段中移动光标
- JavaScript 在 JSON 对象中移动如何判断元素是否存在
- 在循环中移动dom元素
- 在firefox上的滚动事件中移动元素
- 在jQuery中移动DOM元素(图层滑块)
- 使用jquery在正方形中移动文本
- 如何在Javascript中移动元素的旋转点
- 在剪裁的画布中移动所有图像
- 无法在场景中移动
- 通过在HTML中淡入淡出在图片中移动