[英]How to stop a rectangle from moving off of the canvas in Javascript using the p5 library
[英]How to stop facebook scrollbars from moving after using javascript onkeydown event for a canvas game?
我已经使用 HTML5 Canvas 元素,Javascript 为 Z26CAE7718C32180A407A0F8E19D 制作了一个游戏你可以在这里访问它, http://apps.facebook.com/snaqe_game 。 我面临的问题是,当我按下箭头键时,用于移动使用 Javascript onkeydown事件实现的蛇时,游戏正常运行,但滚动条 go 上下移动。 我尝试制作一个文本框(#activ)并将焦点设置为它。 它有效,但是当我试图让它不可见时,它失败了。
document.onkeydown = function(event) {
document.getElementById('activ').focus()
if (!allowPressKeys) {
return null;
}
var keyCode;
if(event == null) {
keyCode = window.event.keyCode;
} else {
keyCode = event.keyCode;
}
switch(keyCode) {
case 37:
if (direction != "right") {
moveLeft();
}
break;
case 38:
if (direction != "down") {
moveUp();
}
break;
case 39:
if (direction != "left") {
moveRight();
}
break;
case 40:
if (direction != "up") {
moveDown();
}
break;
default:
break;
}
}
在document.onkeydown
function 的末尾(在snake.js
的第 197 行之后),添加
if (event.preventDefault) { event.preventDefault(); }
if (event.stopPropagation) { event.stopPropagation(); }
return false;
这可以防止浏览器响应事件,而不是执行您的 function。
您可能还需要更换return null;
在第 161 行,这三行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.