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,左右牆的回覆力設置不一樣即可。同樣,根據這個設計,我們可以設計一種吸附牆,將鋼球吸附在牆上(這裏可能需要一個傳感器設置,就是在牆的範圍內,將重力消除掉)。
哈哈,今天就是這樣。好久沒寫博客,真是:~)。最近在做繪本遊戲,有一腔的話要說啊。對於遊戲,設計真的非常重要啊!!!