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++有所瞭解才能將其脫落。