譯 Chipmunk 教程2 基本概念

2021-09-08 00:08:20 字數 988 閱讀 2771

現在我們已經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 教程1 設定

在我們開始實際的應用之前,這有很專案需要設定的步驟,之後我們才能專注於chipmunk。開啟xcode,然後建立乙個新的工程,使用 view based 應用程式模板,這會建立乙個簡單的應用程式,啟動應用之後,有個view會被顯示出來。在匯入這些檔案之前,我建議你建立乙個新的group,在other...

譯 ChipMunk 教程1 設定

在我們開始實際的應用之前,這有很專案需要設定的步驟,之後我們才能專注於chipmunk。開啟xcode,然後建立乙個新的工程,使用 view based 應用程式模板,這會建立乙個簡單的應用程式,啟動應用之後,有個view會被顯示出來。在匯入這些檔案之前,我建議你建立乙個新的group,在other...

譯 ChipMunk 教程1 設定

在我們開始實際的應用之前,這有很專案需要設定的步驟,之後我們才能專注於chipmunk。開啟xcode,然後建立乙個新的工程,使用 view based 應用程式模板,這會建立乙個簡單的應用程式,啟動應用之後,有個view會被顯示出來。在匯入這些檔案之前,我建議你建立乙個新的group,在other...