BOX2D畫出較為複雜的剛體

2021-07-02 11:30:59 字數 1100 閱讀 3742

本部落格中使用的均為cocos2d c++ box2d 版本是2.6

由於筆者能力有限,所以在這裡也只說明俄羅斯方塊的幾種圖元的構造,如若您需要更加複雜的東東,敬請諒解

不說了,首先建立

**如下:

void box2dtestlayer::generate4(ccpoint p)

再者建立

**如下:

void box2dtestlayer::generate3l1(ccpoint p)

b2separator* sep = new b2separator();

if (sep->validate(*vec) == 0)

sep->separate(threelastbody, &threelastonedef, vec, ptm_ratio);

}

再者:

**如下:

void box2dtestlayer::generate3m1(ccpoint p)
接下來是最後乙個了

**是:

void box2dtestlayer::generate22(ccpoint p)
其實這裡面主要使用了組合法來進行,一者使用現成的b2separator.h檔案來進行自動生成,比如generator3l1函式,另乙個則是自己進行分辨生成的generator22和generator3m1兩個函式,我們需要知道的一點就是不能使得兩個剛體進行合成乙個(至少筆者沒有做到啊),我們可以根據自己需要的形狀,自己進行分開,將凹形狀分解成凸形狀的,筆者當時有乙個誤區就是所有形狀都必須一剛體的中心為中心,實際上並不是這樣的,我們只需要進行根據中心為中心勾勒出幾個凸形的點即可!!!!

物理引擎Box2D之剛體

剛體代表乙個質點,因此它只有位置,沒有大小。物理引擎box2d把剛體分為三種型別。1 靜態剛體。靜態剛體沒有質量,沒有速度,如果你想改變它的位置,只能通過 修改。2 稜柱剛體。稜柱剛體沒有質量,但有速度,引擎會根據速度計算並更新它的位置。3 動態剛體。動態剛體有質量也可以有速度,這是我們最常用的剛體...

box2d 剛體碰撞設定方法

box2d 剛體碰撞設定方法 fixturedef.filter.categorybits指自己所屬的碰撞種類,fixturedef.filter.maskbits指與其碰撞的種類 b2fixturedef fixturedef 注意 fixturedef.filter.categorybits 的...

box2d之剛體,定製器筆記

剛體 body 通過世界建立的物件,物理引擎裡面所有東西都是剛體 建立方式 定義乙個b2bodydef,b2world呼叫createbody的方法傳入此引數 定製器 fixture 帶有形狀,密度,摩擦力等屬性 建立方式 定義乙個b2fixturedef,呼叫剛體的createfixture方法為...