Box2d 基礎入門知識

2021-09-04 09:10:45 字數 798 閱讀 5288

通過b2bodydef來定義物體

//定義乙個物體物件

b2bodydef mybodydef;

//設定物體型別為動態物體

mybodydef.type = b2_dynamicbody;

// 設定物體的起始位置

mybodydef.position.set(0, 20);

//設定物體起始角度

mybodydef.angle = 0;

將物體建立出來

b2body* dynamicbody = m_world->createbody(&mybodydef);
為物體設定大小,形狀以及其它更明確的性質,通過為其新增定製器(fixtures)來實現。此外,即便為物體新增預設的定製器也會影響物體的質量。

設定定製器

//定義多邊形物件

b2polygonshape boxshape;

//設定為正方形

boxshape.setasbox(1,1);

//定義定製器物件

b2fixturedef boxfixturedef;

//設定定製器的形狀

boxfixturedef.shape = &boxshape;

//設定密度

boxfixturedef.density = 1;

//將定製器附加到物體上來

dynamicbody->createfixture(&boxfixturedef);

box2d 碰撞過濾

原帖 碰撞篩選就是乙個防止某些形狀發生碰撞的系統。按照具體需求設定哪些物體跟那些物體發生碰撞,跟哪些物體不發生碰撞。box2d通過種群跟組索引支援碰撞篩選。組索引比較簡單,設定其shapedef的groupindex值即可,例如boxdef.filter.groupindex 1。通過groupin...

Box2D學習筆記

box2d是乙個用於遊戲的2d剛體 庫,程式設計師可以在他們的遊戲裡使用他們,也可以是的自己的物體運動的更可信。讓他看起來更加接近現實。物理引擎是乙個程式性的動畫系統。而不是由動畫師去移動物體。這一切都是建立在牛頓力學的基礎之上。box2d最初是用c 來寫的,之後有被多種語言所實現。box2d中的核...

BOX2d繪製曲線

來自天地會的 wkyjoey同學 問道如何做乙個重力大師遊戲 如下圖 這裡要特意表示一下歉意,最近一直忙於工作,沒有及時更新教程。對於重力大師遊戲 試玩之後,不難發現,我們在執行時可以建立的剛體有兩種,線條剛體和多邊形剛體。今天我們來一起研究一下線條剛體的建立。多邊形剛體會在下次教程中討論。這裡我們...