将一个动态的物体“粘”在一个静态的移动物体上。

我有一个 Egg(动态圆形刚体),一些移动的 Wall(静态刚体,但通过我的 Corona 程序水平移动而不是 Box2D 力)。

Egg 降落在 Wall 上,并且墙移动时,蛋仍然站在一个位置上,所以当墙移动后,蛋会掉落。

我需要蛋“粘”在墙上(也就是说,当墙向左移动 20 像素时,蛋也向左移动相同的量)。这是通过 Box2D 刚体参数实现的吗?

原文链接 https://stackoverflow.com/questions/8454945

点赞
stackoverflow用户444088
stackoverflow用户444088

首先,您不应该通过设置它们的位置/旋转来移动box2d体。因为在这种情况下,您没有提供物体的速度,因此无法正确模拟与该物体的碰撞。静态体甚至没有能力具有速度。如果您想移动物体,我认为最好的方法是使用动力学体或b2LineJoint。为了使蛋粘住,您可以使用b2ContactListener类来处理蛋与平台的碰撞。处理碰撞时,创建b2WeldJoint。

2011-12-10 09:31:22