Я сейчас создаю игру, и это механизм прыжка 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;
кто-нибудь может мне помочь с этими двумя проблемами?