2

我一直在试验用于 iPhone 的 cocos2D 中的 box2D 示例项目,并且想知道 box2D 是否是合适的引擎,用于在移动对象完成沿某个方向移动时使移动对象“粘”到静止对象上。

下面是我要实现的目标的简化:我有 MovingObject,一个动态刚体,当施加足够的力时它会抵抗重力垂直移动。随着 MovingObject 移动,它可能会与静态对象 StationaryObject 重叠。当重力将 MovingObject 的速度减小到零以使其不再移动时,我希望 MovingObject 仅在与 StationaryObject 重叠时才保留在原处。如果对象不重叠,MovingObject 应该开始根据重力向下向地面移动。在下降过程中,如果 MovingObject 在任何时候与 StationaryObject 重叠,它应该停止下降并保持在该位置,就好像它卡在 StationaryObject 上一样。

我可以让 MovingObject 根据我对其施加的力移动,但不确定如何让它在到达其上升的顶部时停止并停留在那里,假设它与 StationaryObject 重叠。

目前,我正在尝试简单的方形/框对象,但最终两个 MovingObject StationaryObject 将被定义为非常不同的复杂多边形形状。

提前感谢您为实现这一目标提供的任何见解和/或建议。

4

1 回答 1

0

听起来您需要在“MovingObject”“上升”时更改用于“MovingObject”的夹具类型,然后在“下降”时更改它,以便它做出不同的反应(重叠)。

通过“重叠”听起来你想在平台游戏(即马里奥兄弟)中实现类似于“单面平台”的东西 - 我建议为初学者研究单面平台的解决方案。

于 2010-12-28T07:03:41.933 回答