代码之家  ›  专栏  ›  技术社区  ›  Abhishek Mishra

二维游戏物理?

  •  12
  • Abhishek Mishra  · 技术社区  · 16 年前

    有人能给我指一个二维游戏物理库吗?比如说,二维平台/侧滚游戏的重力编程、跳跃动作等等。 或者你能为侧卷轴推荐一些算法吗,比如马里奥,索尼克等等?

    11 回复  |  直到 16 年前
        1
  •  22
  •   nico    12 年前

    听起来像 Chipmunk 可能满足你的需要。

        2
  •  12
  •   Stephen Deken    16 年前

    你的最佳赌注很可能 Box2D . 它做二维物理,有很多选择,并且很容易集成到现有的项目中。它默认为固定物体的CCD,但任何刚性物体都可以有选择地包含在CCD计算中。

        3
  •  9
  •   The Digital Gabeg    16 年前

    如果你只需要重力,你可以在5分钟内自己编程。自由下落的物体以每秒9.8米的速度加速下降,也就是说,物体向下 速度 自由落体每秒增加9.8米。对于一个游戏,你需要将9.8除以你的帧速率。对于跳跃,只需选择一个显著的负垂直速度,在角色跳跃的瞬间将其应用,并按每帧重力增量递减。这是你真正需要的东西,如马里奥,除非你正在寻找一个三维背景为你的二维侧滚。

    如果你想变得更漂亮,你可以试着把物体的冲击力考虑进去,使坠落的物体伤害人或使路面开裂或其他东西。为此,使用动能公式:ke=1/2*m*v^2,其中m是质量,v是速度。

        4
  •  5
  •   scubabbl    16 年前

    你在找什么站台? 你使用的图书馆将取决于这一点。

    对于XNA框架,Farseer非常好。

        5
  •  4
  •   bkane    16 年前

    要回答问题的第二部分,如果您想了解简单二维平台的工作原理,请阅读 tutorials for N . 是的,N是一个基于flash的游戏,但这并不意味着它不是一个“真实”的游戏,所以碰撞检测(和响应)教程非常适用。他们是一个简单的阅读,一些直观的演示嵌入在页面中,以展示几何概念。

        6
  •  2
  •   scubabbl    16 年前

    你可以看看哈沃克发动机。我相信他们发布了一个非商业用途的免费版本。它有一个约束工具包,允许您将物理约束到两个平面,在您的例子中是x和y。

        7
  •  2
  •   Thomas    16 年前

    大多数二维侧滚平台游戏的物理原理都非常简单,你可以自己轻松实现。你想要什么样的效果?

        8
  •  2
  •   Robert Gould    16 年前

    如果你有时间,你可以使用physx,但它很可能是一个过度杀死为二维。 除此之外,如果你打算在个人电脑上玩游戏,并且想要一些很酷的物理效果,可以尝试谷歌搜索“Verlet集成”,我知道有很多Verlet实现(粒子和二维碎布玩偶很好)。

        9
  •  2
  •   bineteri    16 年前

    我已经用过 Box2D 在个人项目中。它是一个二维物理模拟API。但是,如果您想要的更多是一个游戏/图形API,那可能是杀伤力过大。

        10
  •  2
  •   Ken Penn    16 年前

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

    http://blog.nihilogic.dk/

        11
  •  2
  •   Florian Bösch    16 年前

    你可以用做二维物理 opende