谁能给我指一个 2D 游戏物理库,用于对 2D 平台/横向卷轴游戏的重力、跳跃动作等进行编程?或者你能推荐一些横向卷轴游戏的算法吗,比如马里奥、索尼克等?

有帮助吗?

解决方案

这听起来像 花栗鼠 可能会满足您的需求。

其他提示

你最好的选择很可能是 盒子2D. 。它具有 2D 物理功能,有大量选项,并且很容易集成到现有项目中。它默认对固定体进行 CCD,但可以选择性地将任何刚体包含在 CCD 计算中。

如果您只需要重力,您可以在 5 分钟内自行编程。自由落体物体以每秒9.8米的速度加速下降——也就是说,物体向下运动 速度 自由落体每秒增加 9.8 米。对于游戏,您需要将 9.8 除以您的帧速率。对于跳跃,只需选择一个显着的负垂直速度,在角色跳跃时将其应用到角色,并按每帧重力增量来减少它。对于像 Mario 这样的游戏,这确实是您所需要的,除非您正在为 2d 横向卷轴游戏寻找 3d 背景。

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

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

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

要回答问题的第二部分,如果您想了解简单的 2D 平台游戏的工作原理,请阅读 N 的教程. 。是的,N 是一款基于 Flash 的游戏,但这并不意味着它的构造不像“真实”游戏,因此碰撞检测(和响应)教程非常适用。它们读起来很简单,页面中嵌入了一些直观的演示来展示几何概念。

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

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

如果你有时间,你可以使用 PhysX,但它对于 2D 来说可能有点过头了。除此之外,如果你打算让你的游戏在 PC 上运行并想要一些很酷的物理效果,请尝试在谷歌上搜索“verlet 集成”,我知道周围有很多 verlet 实现(对于粒子和 2D 布娃娃来说很好)。

我用过 盒子2D 在个人项目中。它是一个 2D 物理模拟 API。但是,如果您想要的更多的是游戏/图形 API,那么它可能就太过分了。

这家伙在 Javascript 游戏方面做了很多工作:

http://blog.nihilogic.dk/

你可以做二维物理 开放 还有

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top