2013-01-14 88 views
0

我對cocos2d中的點感到困惑。 我有普遍的遊戲,當我以點數設置身體位置時,它可以在所有設備(iPhone,iPhone HD,iPad,iPad HD)上運行良好。我用cocos2d後綴製作了4種尺寸的紋理,效果也很好。Cocosd2d和body.m_radius取決於設備類型

但我有身體(b2CircleShape),我需要設置這個圓的m_radius。 我有這樣的臺詞:

b2CircleShape myDynamicBody; 
myDynamicBody.m_radius=0.48; 

值0.48爲iPhone HD優化,它的工作原理以及在兩個iPhone(iPhone和iPhone HD),但在iPad和iPad高清設備是非常小的。我該怎麼辦?檢查設備的類型,當我發現iPad在1.33中倍增(當我試圖在1.33中倍增它時,它在iPad上運行良好)。 還是有更好的(或推薦)的方式,如何解決這個問題?

感謝您的建議

回答

1

你應該調整你的觀點,以米iPad上(PTM_RATIO)。

'點'的原因是,Box2d被調整爲運行物理模擬0.1米至10米之間的物體,典型的身體約爲1x1米。它仍然適用於這些尺寸以外的身體,但不太可靠。

另一方面,您的屏幕具有〜320x480或1024x768的分辨率。因此,我們需要一種方法將精靈表示轉換爲適合Box2d的大小。爲此,我們使用「點對點」配給(PTM)。

如果您的典型精靈是64x64,您應該選擇64的PTM比率。這將使box2d將64x64精靈視爲1x1,這是運行模擬的理想大小。

解釋說,PTM_RATIO在手機和平​​板電腦外形因素之間變化的原因現在很明顯:因爲它們具有不同的分辨率。在iPhone上64x64的精靈將在平板電腦上約爲128x128。

因此,要在iPad上獲得您的PTM_RATIO,請在iPhone上選擇一個精靈並在iPad上查看相應的尺寸。現在將iPhone PTM乘以這兩幅圖像的大小比例。

+0

謝謝你的回答。但是有一個問題。我的遊戲中有許多不同大小和形狀的精靈。但我使用默認的PTM_RATIO(PTM_RATIO 32),它在很多情況下都能很好地工作。所以我會在遊戲開始時檢查設備類型,如果我找到iPad,我會設置不同的PTM_RATIO,並在此情況下使用它。 –

+0

只要主要形狀在10釐米(iPod)和10米(大型後院游泳池)之間,就可以有許多不同的尺寸和形狀。 。 。這爲大多數/所有遊戲提供了相當好的範圍。 –