2010-02-19 18 views
1

我想在兩個對象碰撞時刪除box2d中的一個對象。如何清除box2d中碰撞對象的反彈?

當我的兩個物體發生碰撞時,其中一個物體會從另一個物體上彈開。它確實刪除了另一個對象,但我希望它看起來像是經過了而不是反彈。

我有我的身體Def類型設置爲b2_staticBody

回答

2

,則應該設置身體的固定裝置是一個傳感器:

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