XNA C#2D平台游戏

Res*_*art 7 c# xna tiles collision-detection

我正试图在XNA中制作(弄清楚如何......)2d平台游戏.

我知道如何创建一个平铺网格以及如何执行碰撞检测.我在播放器的9个边界拼贴上执行碰撞检测,但我想知道是否有更好的方法来执行碰撞检测.

我读过Braid不使用瓷砖而是拼凑图像或其他东西,你如何对它们进行碰撞检测?并且比使用瓷砖更好吗?

xga*_*axy 3

假设您不介意使用第三方工具来为您完成大部分工作,那么您最好使用 Box2D for C# 之类的工具。

http://www.box2d.org/ http://code.google.com/p/box2dx/

该库将为您提供碰撞检测和物理功能。

  • 在平台游戏中使用物理库对主角进行简单的碰撞检测通常是一个坏主意。需要付出巨大的努力来调整它并使其运动和感觉正确。像马里奥这样的游戏在物理上并不正确,因此玩起来更有趣。这并不意味着它的行为似乎符合某些规则(例如主角因重力而摔倒),只是它被编程为感觉恰到好处,而不是物理上正确。 (5认同)
  • 物理学的问题(再次)是它需要很长时间才能得到正确的结果。一切皆有可能,这对于某些游戏来说很有趣,但通常您不希望主角能够进行交互并使用一切。基于物理的游戏很快就变成了模拟风格的游戏,而 plqtform 游戏则是更直接的街机风格游戏。这并不意味着他们对某些元素使用物理事物,但绝对不意味着一切都是模拟的。 (2认同)