Cocos2dx之Box2D詳解 設置物體回覆力

Cocos2dx之Box2D詳解 設置物體回覆力

DionysosLai([email protected]) 2014/7/29

         在box2d中,物體有三大屬性,分別是:

1.  Density,單位體積的質量(即密度), 意義就是一個對象的密度越大,對象就擁有更多的質量,本身就會越難以移動。

2.  Friction,摩擦力,範圍在0-1.0。 0意味着沒有摩擦,1代表最大摩擦,幾乎移不動的摩擦。        

3.  Restitution,回覆力,範圍在0到1.0。0意味着對象碰撞之後不會反彈,1意味着是完全彈性碰撞,會以同樣的速度反彈。

 

         密度和摩擦力比較容易理解,因爲本身這兩個屬性不會跟其他物體有太多關聯,而回復力則關係到物體之間的相互聯繫了,這是由於力的作用是相互的。同時因爲力的作用是相互原理,作用力即等於反作用力。另一方面,根據測試結果可以知道,兩個物體相碰,如果A物體的回覆力爲a,B物體的回覆力爲b。若二者的回覆力不一樣,則作用在二者身上的回覆力爲max(a, b),即使雙方中有一方的回覆力爲0,這個結論依然成立。

        根據上文,我們就可以設置一個彈性鋼球碰到左右面牆面的回彈力不一樣(蛋疼的設計,就是因爲策劃要求,我才發現有上文的結論),只要將鋼球的回覆力設置爲0,左右牆的回覆力設置不一樣即可。同樣,根據這個設計,我們可以設計一種吸附牆,將鋼球吸附在牆上(這裏可能需要一個傳感器設置,就是在牆的範圍內,將重力消除掉)。

        哈哈,今天就是這樣。好久沒寫博客,真是:~)。最近在做繪本遊戲,有一腔的話要說啊。對於遊戲,設計真的非常重要啊!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章