В моем коде у меня работают стрелки вверх и вниз, но по какой-то причине левая и правая части не работают - PullRequest
0 голосов
/ 02 мая 2019

Я делаю игру для своего класса, и у меня все работает, но по какой-то причине левая и правая клавиши со стрелками не работают, но вверх и вниз работают правильно. У меня все в 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">

1 Ответ

1 голос
/ 02 мая 2019

Я проверил ваш HTML в github и обнаружил, что у вас есть только стиль right в вашем изображении "кошка".в JS element.style.left не будет возвращать значение, если у вас нет left правила в вашем атрибуте style.

Чтобы это исправить, вы должны либо изменить код JS, чтобы получить element.style.right вместоelement.style.left ИЛИ измените стиль в своем изображении "кошка", чтобы использовать left вместо right

...