我试图在box2d
两个对象碰撞时删除一个对象。
当我的两个物体发生碰撞时,其中一个物体会从另一个物体上反弹。它确实删除了另一个对象,但我希望它让它看起来像是经过而不是反弹。
我将身体 Def 类型设置为b2_staticBody
.
我试图在box2d
两个对象碰撞时删除一个对象。
当我的两个物体发生碰撞时,其中一个物体会从另一个物体上反弹。它确实删除了另一个对象,但我希望它让它看起来像是经过而不是反弹。
我将身体 Def 类型设置为b2_staticBody
.
您应该将身体的固定装置设置为传感器:
fixture->SetSensor(true);
然后,您创建一个接触侦听器 ( class MyContactListener : public b2ContactListener
),它在 BeginContact 方法中检测碰撞并检查其中一个碰撞对象是否属于这种特殊类型。这样做的一个好方法是使用以下两种方法:
/// Get the user data pointer that was provided in the body definition.
void* GetUserData() const;
/// Set the user data. Use this to store your application specific data.
void SetUserData(void* data);
你需要对 C++ 有点熟悉才能成功。