我做了一个游戏,里面有一个球和一些阻止球落下的方块。我使用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