我一直在试验用于 iPhone 的 cocos2D 中的 box2D 示例项目,并且想知道 box2D 是否是合适的引擎,用于在移动对象完成沿某个方向移动时使移动对象“粘”到静止对象上。
下面是我要实现的目标的简化:我有 MovingObject,一个动态刚体,当施加足够的力时它会抵抗重力垂直移动。随着 MovingObject 移动,它可能会与静态对象 StationaryObject 重叠。当重力将 MovingObject 的速度减小到零以使其不再移动时,我希望 MovingObject 仅在与 StationaryObject 重叠时才保留在原处。如果对象不重叠,MovingObject 应该开始根据重力向下向地面移动。在下降过程中,如果 MovingObject 在任何时候与 StationaryObject 重叠,它应该停止下降并保持在该位置,就好像它卡在 StationaryObject 上一样。
我可以让 MovingObject 根据我对其施加的力移动,但不确定如何让它在到达其上升的顶部时停止并停留在那里,假设它与 StationaryObject 重叠。
目前,我正在尝试简单的方形/框对象,但最终两个 MovingObject StationaryObject 将被定义为非常不同的复杂多边形形状。
提前感谢您为实现这一目标提供的任何见解和/或建议。