任何人都可以指向我的2D游戏物理库,以便为2D平台/侧滚游戏编程引力,跳跃动作等吗?或者你能为马里奥,声波等侧卷轴推荐一些算法吗?
听起来Chipmunk可能会满足您的需求.
你最好的选择很可能是Box2D.它具有2D物理功能,有很多选项,并且很容易集成到现有项目中.对于固定物体,它默认为CCD,但任何刚体都可以选择性地包含在CCD计算中.
如果你需要的只是重力,你可以在5分钟内自己编程.自由落体物体以每秒9.8米的速度加速下降 - 也就是说,物体的向下速度每秒自由落体增加9.8米.对于游戏,无论你的帧速率如何,你都希望将其除以9.8.对于跳跃,只需选择一个显着的负垂直速度,在它们跳跃的瞬间将其应用于角色,并按每帧重力增量递减.对于像Mario这样的东西,你真的需要它,除非你正在寻找你的2D侧卷轴的3d背景.
如果你想变得更加漂亮,你可以尝试将物体的冲击力考虑在内,使掉落的物体伤害人或破坏路面或其他东西.为此,使用动能公式:KE = 1/2*M*V ^ 2,其中M是质量,V是速度.
你在找什么平台?您使用的库将取决于此.
对于XNA框架,Farseer非常好.