[译]Chipmunk 教程2 - 基本概念
基本概念
?
?
現在我們已經setup好了我們的工程,并且已經可以我們正式的學習Chipmunk之旅了。開始這個之前,我們需要學習一些基本的Chipmunk概念,知道他是如何組織的。
在開始模擬一個現實世界的物理現象之前,你需要你新的為一個規則,并且你需要創建一個容器,成裝你所有的對象。Chipmunk叫做Space。出了這些基本規則以外,他同樣扮演一個所有對象的容器,你將會創建一個模擬器,來使得他們正確表現。
定義任何一個對象,你都需要定義他的Mass也就是孩子兩,和他的其它選項。這是一個Chipmunk里面叫做Body的概念。一個body在和其他的物體產生交互的時候自身不會產生碰撞,因為他沒有形狀‘shape’。出了沒有形狀以外,對象并不相同,你可能需要定義不同的變量,來區分不同的對象。例如,冰淇淋的上面要比你拿著的那個棍子要軟一樣。
定義一個body區域和不同的表面用來和其他的進行交互的話,你需要給一個body添加一個或者多個Shapes。總的來說,一共有三個Chipmunk可用的形狀:circle,segment和poly。(翻譯成:圓形,弓形,聚合的)。有了這三個形狀的組合,你可以定義幾乎所有能想象的body的區域交互。很明顯,給一個body添加shape,并不能夠產生碰撞。需要注意的是,通常很少很完整的像一個精靈的每一個形狀一樣實現Shape,給一個精靈添加很多的shape的話,會增加計算量。Chipmunk需要計算每一個幀,你需要通過一種簡化的方式來覆蓋很重要的部分,但是即便如此,你同樣會感覺到它在模擬器中是正常運行的。
使用Chipmunk的時候,你可以嘗試更新body的一些屬性,例如速度,位置,但是這并不是被推薦的。主要的改變方法是應該和現實世界一樣,需要使用提供Forces。需要提供沿著XX和YY軸的強度。為了使用向量,Chipmunk有個庫叫做cpVect,可以允許你做很多常見的操作。例如多向量或者兩個向量的投影。
同樣的,Chipmunk支持Joints, 它允許你可以通過pin points, slide points,pivot, groove points.(這里怎么翻譯呢),連接起來,雖然我不會在這個教程里面詳細覆蓋連接,但是你可以自己去研究。
總結
以上是生活随笔為你收集整理的[译]Chipmunk 教程2 - 基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: exchange揭开拨号音还原法的神秘面
- 下一篇: 釜底抽薪:掌控能源成本,根治企业能源损耗