原文連結:http://blog.csdn.net/zhangxaochen/article/details/8016456
看這裡: http://is.gd/VoBVUJ
開啟DebugDraw的方法比較簡單,步驟如下:
1. 包含 GLES-Render.h 標頭檔(在類似這樣的路徑下:C:\cocos2d-2.0-x-202\samples\TestCpp\Classes\Box2DTestBed\GLES-Render.h),同時把GLES-Render.cpp 加入工程;
2. 加入這樣的代碼:
GLESDebugDraw* debugDraw=new GLESDebugDraw(PTM_RATIO);_world->SetDebugDraw(debugDraw);uint32 flags=0;flags+=b2Draw::e_shapeBit;debugDraw->SetFlags(flags);
第一句,參數PTM_RATIO告訴debugDraw類,說以ptm_ratio 的比率在螢幕上繪製,這樣以便跟cocos2d繪製的精靈相吻合;
然後把他加到_world 裡面;
順便記得設定繪製模式。(如果不設定,預設m_drawFlags 值為零,即看不到畫的東西)
----------------------------------------------
那麼,這些flags都有什麼模式呢?
在b2Draw.h 裡面看到 :
enum { e_shapeBit = 0x0001, ///< draw shapes e_jointBit = 0x0002, ///< draw joint connections e_aabbBit = 0x0004, ///< draw axis aligned bounding boxes e_pairBit = 0x0008, ///< draw broad-phase pairs e_centerOfMassBit = 0x0010 ///< draw center of mass frame };
一般情況下肯定要 e_shapeBit, 這樣會有個粉紅色的幾何圖形:
e_aabbBit 是說,繪製“軸向的外邊框”,像這樣:
e_centerOfMassBit顯然是繪製質心位置,就是那個紅綠兩道杠:
另外, e_pairBit,知識有限,不懂什麼是 “broad-phase pairs”,希望有前輩能夠賜教下~~
原文連結:http://blog.csdn.net/zhangxaochen/article/details/8016456
{{OVER}}