механика прыжка c дюйм javascript - PullRequest
1 голос
/ 04 августа 2020

Я сейчас создаю игру, и это механизм прыжка c. идея заключается в том, что он поднимается на 500 мс, ждет 200 мс и возвращается на землю (земля находится на вершине 471). теперь все работает, но не останавливается, когда он находится наверху 471, я попытался сделать это:

if (characterTop > 471) {
    stopMoveDown()
}

это не сработало, поэтому я попытался сделать это: (в функции movingDown)

if (characterTop > -1 || character < 471) {
    character.style.top = top + "px";
}

оба из них не работают.

и есть еще одна проблема, как я могу убедиться, что игрок не может снова прыгать во время прыжка?

это код У меня сейчас:

document.body.onkeydown = function(e){
    if(e.keyCode == 32){
        jump = setInterval(function(){
            let top =
            parseInt (window.getComputedStyle(character).getPropertyValue("top"));
            top -= 1;

            var characterTop = parseInt(
                window.getComputedStyle(character).getPropertyValue("top")
            )

            if (characterTop > -1 || character < 471) {
                character.style.top = top + "px";
            }
        }, 1);

        setTimeout(function() {
            stopMoveUp()
        }, 500);

        setTimeout(function() {
            movingDown()
        }, 700);

        //if (characterTop > 471) {
        //    stopMoveDown()
        //}
    }
}

function movingDown() {
    falling = setInterval(function(){
        let top =
        parseInt (window.getComputedStyle(character).getPropertyValue("top"));
        top += 1;

        var characterTop = parseInt(
            window.getComputedStyle(character).getPropertyValue("top")
        )

        if (characterTop > -1 || character < 471) {
            character.style.top = top + "px";
        }
    }, 1);
}

function stopMoveUp() {
    clearInterval(jump);
}

function stopMoveDown() {
    clearInterval(movingDown);
}

var movingRight = false;
var movingLeft = false;

кто-нибудь может мне помочь с этими двумя проблемами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...