日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > cocos2d-x實用效果之BOX2D的圓形包圍邊界

cocos2d-x實用效果之BOX2D的圓形包圍邊界

來源:程序員人生   發布時間:2015-04-21 08:43:53 閱讀次數:2604次

        本文基于cocos2d-x2.2.3,并未在3.0以后的版本下編寫,僅僅是提供1個思路,方便往后其他場景使用到該功能點可以參考,也沒有詳細講述box2d物理引擎的基礎知識,相干知識請自行多參考其他技術文檔。

       使用box2d物理引擎,通常需要我們自己給定1個邊界來限制body的活動范圍,最經常使用的是在屏幕的邊界使用4條邊來包圍,構成1個矩形。但如果我們的需求是在1個圓形范圍內,僅僅想通過1個中心點和半徑來肯定這個范圍,該如何處理呢?其實圓弧也能夠看成是無數小線段組成的,當線段數目足夠多時便無窮趨近于圓,因此我們可以在想要做為范圍的圓周上面取1定數量的點,將各個點連起來所包圍的范圍,即可以看作是1個圓形區域。我們需要做的就是肯定這些點的坐標,首尾相連就能夠圍城1個近似圓的區域,固然點數越多越圓,計算量越多,性能越低,所以取適立即可,本文例子中取24個點。

        如此1來,我們在創建物理世界初始化的時候,即可以將各個點數據圍1個圓形的包圍盒,寫法以下:

<span style="font-family:Comic Sans MS;"> //設置重力參數 b2Vec2 gravity; gravity.Set(0.0f,0.0f); //創建世界 m_world = new b2World(gravity); //是不是允許休眠 m_world->SetAllowSleeping(true); //是不是連續物理測試 m_world->SetContinuousPhysics(true); //地面物體定義 b2BodyDef groundBodyDef; groundBodyDef.position.Set(0,0); groundBody = m_world->CreateBody(&groundBodyDef); //定義點的個數 float pointNum = 24; //定義圓形邊界的半徑 radius = 300; //定義圓心 m_center = ccp(640,400); //寄存點數據的數組 CCPoint point[24]; for (int i= 0; i < pointNum; i++) { //計算每兩個點連成的線段的起始點的角度、坐標(第1個為0°) float angle = (float)i/pointNum *PI*2; float bx = radius * cos(angle); float by = radius * sin(angle); //圓心加上偏移量即為當前點坐標 bx += m_center.x; by += m_center.y; point[i].setPoint(bx,by); } point[23].setPoint(point[0].x,point[0].y); for(int i= 0; i < pointNum⑴; i++) { //設置邊沿范圍 groundBox.Set(b2Vec2(point[i].x/PTM_RATIO,point[i].y/PTM_RATIO),b2Vec2(point[i+1].x/PTM_RATIO,point[i+1].y/PTM_RATIO)); groundBody->CreateFixture(&groundBox,100); }</span>


 


        效果以下:



       上面只是給出了主要實現的代碼段,僅供參考,也能夠下載代碼自己運行試試看,根據需要再進行參數的調劑,自己mark,免得往后需要的時候找來找去!!代碼和資源在下面,請自己創建工程運行


點擊下載參考源代碼

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 99国产精品视频免费观看一公开 | 黄色大片网站 | 黄色免费在线视频 | 91精品一二区 | 精品久久久网站 | 91精品国产欧美一区二区成人 | 成人国产免费视频 | 九九精| 国产精品igao视频网网址不卡日韩 | 久久久www成人免费精品 | 三级视频网站 | 毛片免费播放 | 国产精品高清一区二区三区 | 久久成年人视频 | 蜜桃在线一区二区三区 | 国产美女视频 | 欧美日韩精品一区二区三区蜜桃 | 91精品久久久久久久久青青 | 久久久网 | 日韩精品久久久久久久电影99爱 | 精产国产伦理一二三区 | www久久久久| 国内自拍青青草 | 精品成人一区二区 | 久久精品一 | 视频在线观看国产 | 黄色一级片在线免费观看 | 日韩视频在线免费观看 | 国产乱码一区二区三区 | 欧美不卡一区二区 | 欧美一级黄色录像 | 一级黄视频 | 国产精品18 | 伊人久久大香线蕉综合网站 | 国产一区二区免费看 | 九九精品视频在线 | h视频国产 | 国产区一区 | 日本精品视频一区二区三区四区 | 久久久久亚洲av成人毛片韩 | 国产成人精品在线 |