Box2D的編譯與執行 Hello world

2021-06-12 14:46:01 字數 2703 閱讀 6764

最近在編寫乙個手機遊戲,用到box2d,學習後順帶寫了這幾篇文章。

整合的方式:把box2d編譯成static lib, 然後整合

***************

box2d的編譯

***************

1)新建乙個名為box2d的static library工程,如下圖:

2) 新建src目錄,把 box2d_v***解壓後資料夾中的box2d直接拷入src中,如下圖:

3)因為某些包使用 "#include" ,所以要在環境變數中含有box2d的目錄,配置如下:

開啟工程的屬性編輯頁面(右擊工程,選擇properties),在彈出的對話方塊中選擇「gcc c++ compiler」, 把工程中的src目錄到include的path中,如下圖:(新增時,按

在workspace中選擇就可以了:

確定後,就可以編譯了。編譯後的工程如下圖(出現了archives/libbox2d.a):

執行第乙個簡單的例子: hello, world

***********************************==

1) 建立乙個executable的c++工程(box2dtest),如下圖:

2)新建src目錄,把box2d解壓包下的helloworld 下的helloworld.cpp放到src資料夾下,如下圖:

3) 配置box2d的路徑,架設第乙個工程的目錄為:/users/stalendp/documents/workspace2/box2d_v2.2.1/box2d, 其目錄結構為:

box2d

/ debug

/libbox2d.o

…../src

/box2d

/rope

/dynamics

/common

/collision

box2d.h

….

指定標頭檔案位置----方法一:

指定標頭檔案位置----方法二:

指定鏈結庫的位置(需要指定lib的名稱和搜尋路徑,注意box2d在檔案系統中的名稱為 libbox2d.o, 其實這個指定的時g++的「-l」引數):

儲存後,就可以編譯了。

**** build of configuration debug for project box2dtest ****

make all 

building file: ../src/helloworld.cpp

invoking: gcc c++ compiler

g++ -i/users/stalendp/documents/workspace2/box2d_v2.2.1/box2d/src -o0 -g3 -wall -c -fmessage-length=0 -mmd -mp -mf"src/helloworld.d" -mt"src/helloworld.d" -o "src/helloworld.o" "../src/helloworld.cpp"

finished building: ../src/helloworld.cpp

building target: box2dtest

invoking: macos x c++ linker

g++ -l/users/stalendp/documents/workspace2/box2d_v2.2.1/box2d/debug -o "box2dtest"  ./src/helloworld.o   -lbox2d

finished building target: box2dtest

**** build finished ****

編譯和執行的情況如下:

box2d 碰撞過濾

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

Box2D學習筆記

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

BOX2d繪製曲線

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