關於 Box2D

CEGUI + DirectX9 + Box2D

去年底,正在思考我的 sprite 物件該怎麼實做碰撞時,突然想到了物理引擎這東西,上網搜尋了之後,發現了Box2D,憤怒鳥就是使用了這個。
 
我想要把它放進我的 DirectX 製作的 2D引擎裡,結果沒想到,Box2D本身並沒有繪圖相關的 code,而官方的範例是使用 OpenGL 繪圖的,不得已,我將 Box2D 範例裡的所有跟繪圖有關的 code 全部改寫成 DirectX 的,然後放進我的 2D引擎裡,花了我非常多的時間,同時,我也發現,OpenGL 好像還是很好用,好想把他寫進我的 2D引擎裡啊。
 
網路上有非常多的資源,可是因為 Box2D 使用非常廣泛,我很難找到C++的適合範例,官方說明手冊在沒有範例的情況下很難理解,更不用提那些早就還給老師的物理知識了。只好用老方法,買一本書,偏偏中文版只有一本,還是用 Flash 的,沒辦法,還是硬著頭皮買了。然後這本書只能當作學習 Box2D 範例的入門,不能用來學程式語言,畢竟不是程式背景的人寫的,有許多寫作習慣讓我想撕了它。
 
Flash ActionScript 與 Box2D 遊戲程式設計:動手創造你的 Angry Birds 世界
 
把 Action Script 的 code 改寫成 C++ 的過程非常的痛苦,但是經過幾個月的努力,還是把10個範例都做完了。在此同時,我也發現了我的 2D引擎的不足之處,持續地做改良。不過我到底該不該把文件看完呢?而且既然都練習完了,感覺不搞個憤怒鳥出來就好像沒完成似的...。
 
Box2D的相關資源
 
Box2D Example



留言

這個網誌中的熱門文章

MSVC 與 CRT 之間的恩怨情仇

EXCEL VBA

演員筆記