2008-09-19 334 views
12

任何人都可以指向我的2D游戏物理等图书馆用于编程重力,跳跃动作等等为2D平台/ sidescrolling游戏? 或者你可以建议像马里奥,声波等侧滚动一些算法?2d游戏物理?

回答

22

听起来像Chipmunk可能会满足您的需求。

+0

哦,那很酷。 – 2008-09-19 01:41:51

5

你在找什么平台?您使用的库取决于此。

对于XNA框架,Farseer相当不错。

+0

我在找allegro + GCC组合 – 2008-09-22 13:31:04

2

你可以看看Havok引擎。我相信他们发布了非商业用途的免费版本。有一个约束工具包可以让你将物理约束为2个平面,在你的情况下,x和y。

2

大多数2D横向卷轴平台游戏中的物理过程非常简单,您可以自己轻松实现它们。你在寻找什么样的效果?

+0

基本上很多动态跳跃和反弹 – 2008-09-19 01:34:56

2

如果你有时间可以使用PhysX,但它可能会过度杀死2D。 除此之外,如果你打算让你的游戏在个人电脑上工作,并想要一些很酷的物理,请尝试使用谷歌搜索“verlet integration”。我知道周围有很多verlet实现(对于粒子和2D布娃娃来说很好)。

2

我在个人项目中使用了Box2D。它是一个2D物理模拟API。但是,如果你想要的更多是一个游戏/图形API,它可能是矫枉过正的。

12

您最好的选择是最有可能的Box2D。它具有2D物理特性,有很多选项,并且很容易集成到现有项目中。它对于固定物体默认使用CCD,但任何刚体都可以选择性地包含在CCD计算中。

+0

我只是爱花栗鼠和box2D谢谢! – 2008-09-19 20:12:07

9

如果您只需要引力,您可以在5分钟内自行编程。自由落体物体以每秒9.8米的速度加速下降 - 也就是说,物体的下降速度每秒自由落体增加9.8米。对于一款游戏,无论你的帧频是多少,你都希望将其分成9.8。对于跳跃,只需选择一个显着的负向垂直速度,在角色跳跃的瞬间将其应用于角色,并通过每帧重力增量将其减少。这完全是你需要的东西,像马里奥,除非你正在寻找你的2D侧滚动器的3D背景。

如果你想更有趣,你可以尝试考虑物体的冲击力,使坠落的物体伤害人或破坏路面等。为此,使用动能的公式:KE = 1/2 * M * V^2,其中M是质量,V是速度。

2

你可以做2D物理与opende以及

4

为了回答你问题的第二部分,如果你想想要了解一个简单的2D平台变形器的工作原理,请仔细阅读tutorials for N。是的,N是基于闪光的游戏,但这并不意味着它不像“真实”游戏那样构建,所以碰撞检测(和响应)教程非常适用。他们直观地阅读了一些嵌入页面的直观演示,以展示几何概念。

+0

你是对的,libs像box2d,花栗鼠是伟大的,但需要大量的时间来实现和习惯。由于我受限于完成开发28日,我需要减少一些游戏的复杂性,如可能性不平坦的地形,并得到一些简单的普遍适用的方法,而不是 – 2008-09-22 06:07:21