【发布时间】:2020-08-03 12:07:25
【问题描述】:
在 libgdx 中,我的演员有 box2d 身体,这些身体都是作为传感器实现的(因为我不希望力量发挥作用)。但是,我希望演员在碰撞时不要相互重叠。
基本上我希望每个演员都像对待障碍物一样对待彼此,并且不能“重叠”并阻止彼此的运动(就像走进墙壁一样)
这在 Box2D 中可行吗?
【问题讨论】:
在 libgdx 中,我的演员有 box2d 身体,这些身体都是作为传感器实现的(因为我不希望力量发挥作用)。但是,我希望演员在碰撞时不要相互重叠。
基本上我希望每个演员都像对待障碍物一样对待彼此,并且不能“重叠”并阻止彼此的运动(就像走进墙壁一样)
这在 Box2D 中可行吗?
【问题讨论】:
我认为答案应该是否定的,因为传感器被明确设计为不会发生碰撞。但是,您可以通过覆盖 BeginContact/EndContact 自行实现碰撞,但实际上 box2d 做得很好。我还没有尝试过,但如果您在 BeginContact 中将 isSensor 设置为 False,它可能会起作用。
如果你想防止你的对象不对力做出反应,而不是让它们成为传感器,你可以使用碰撞过滤,或者将重力设置为 0
【讨论】: