我做了一個遊戲,裏面有一個球和一些阻止球落下的方塊。我使用setInterval方法使球的引力爲jquery,如何製作平滑的跳躍動畫?
setInterval(function(){
ball.offset({top: ballMoveY += gravitation});
$("p").html(ballMoveX + '<br>' + ballMoveY + '<br><br>' + blokPos + '<br><br>' + gravitation);
if (ballMoveY > blok4Y+20){alert('game over'); return ballMoveY = 0; return ballMoveX = 0};
if ((ballMoveY == blok1Y && ballMoveX < blok1X && ballMoveX > 2) ||
(ballMoveY == blok2Y && ballMoveX < blok2X && ballMoveX > 15) ||
(ballMoveY == blok3Y && ballMoveX < blok3X && ballMoveX > 110) ||
(ballMoveY == blok4Y && ballMoveX < blok4X && ballMoveX > 325)){
return gravitation = 0;
}
else {return gravitation = 5;};
}, 5);
但我不能讓跳轉順暢。跳躍是從頂點開始,而不是從底部開始然後再向上跳動,然後再跳下。我使用空格鍵來觸發球跳,箭頭鍵左右移動球。 這是跳躍代碼:
$(window).keyup(function(e){
if (e.which === 32 && gravitation == 0){
return gravitation -= 200;
}
})
下面是完整的代碼https://jsfiddle.net/b2orwnrz/
天才!謝啦!!! –
你寫了一個從零開始的遊戲引擎一個投票的答案,這是奉獻精神。有一個upvote。我用這個來研究一個CSS遊戲引擎的概念,這裏是一些可靠的東西。你的碰撞檢測是不可靠的,但你在評論中提到了這一點。連續的工作! – KoldBane