1
我想在两个对象碰撞时删除box2d
中的一个对象。如何清除box2d中碰撞对象的反弹?
当我的两个物体发生碰撞时,其中一个物体会从另一个物体上弹开。它确实删除了另一个对象,但我希望它看起来像是经过了而不是反弹。
我有我的身体Def类型设置为b2_staticBody
。
我想在两个对象碰撞时删除box2d
中的一个对象。如何清除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++有所了解才能将其脱落。