我正在为我的类(class)制作一个游戏,一切正常,但由于某种原因,左右箭头键不起作用,但向上和向下可以正常工作。 我在 Github 上有一切 - https://github.com/Crouton18/game.git
这是箭头函数的 html 和 java 脚本
function leftArrowPressed() {
var element = document.getElementById("cat");
element.style.left = parseInt(element.style.left) - 20 + 'px';
}
function rightArrowPressed() {
var element = document.getElementById("cat");
element.style.left = parseInt(element.style.left) + 20 + 'px';
}
function upArrowPressed() {
var element = document.getElementById("cat");
element.style.top = parseInt(element.style.top) - 20 + 'px';
}
function downArrowPressed() {
var element = document.getElementById("cat");
element.style.top = parseInt(element.style.top) + 20 + 'px';
}
function movetheguy(event){
switch (event.keyCode) {
case 37:
leftArrowPressed();
break;
case 39:
rightArrowPressed();
break;
case 38:
upArrowPressed();
break;
case 40:
downArrowPressed();
break;
}
<body onLoad="bg(large0.gif);" onKeyDown=""
onkeyup="movetheguy(event);" bgcolor="black">
最佳答案
我在 github 中检查了您的 HTML,发现您的“cat”图像中只有 right
样式。在 JS 中,如果 style
属性中没有 left
规则,则 element.style.left
将不会返回值。
要解决此问题,您应该更改 JS 代码以获取 element.style.right
而不是 element.style.left
或更改“cat”中的样式"使用 left
代替 right
的图像
关于javascript - 在我的代码中,我可以使用向上和向下箭头键,但由于某种原因,左右似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55959253/