我正在将Corona SDK与Box2D引擎一起使用,并且我试图制作Flappy Bird风格的游戏只是为了熟悉物理引擎。我曾尝试增加主角的密度,增加重力,改变物理舞台的规模等,但是主角仍然感觉过于“浮躁”。

重力越来越近,我感觉应该正确,但是仍然存在问题。如果用户连续快速点击屏幕,则动量会迅速建立,并且角色会从屏幕上高速飞出。现在是我的代码:

physics.setGravity( 0, 60 ) --default is 9.8

function screenTap()
    flappy.isFixedRotation = true
    flappy:applyLinearImpulse( 0, -300, flappy.x - 3, flappy.y )
    flappy.isFixedRotation = false
end


在最初的《飞扬的小鸟》游戏中,它似乎具有正常的重力,但快速点击屏幕不会使小鸟飞得太快。它几乎感觉到某种“沉重”的东西,例如保龄球,但显然在这个世界上,所有物体的下落速度相同。我对物理引擎没有太多的经验,所以我将不胜感激。

最佳答案

如果您最近玩过飞扬的鸟,您应该已经观察到,快速连续击打鸟时,其垂直速度不会增加!这位蓬松的鸟类开发者似乎在每次轻拍时都会将其垂直速度设置为某个值,而不是使其垂直加速。

因此,我的建议是只要轻按屏幕即可将角色的垂直速度简单地设置为设定值,而不是使其加速。

07-27 21:31