2012-03-21 92 views
0

我正在做一個遊戲,我需要檢測一條線和一個多邊形之間的碰撞。經過大量的搜索,似乎cocos2d不支持多邊形碰撞?Cocos2d或Box2d?

我可以執行直線和直角碰撞檢測,但不能執行多邊形。 我必須移動到Box2d嗎?任何意見非常感謝。

回答

1

Cocos2D不提供任何形式的碰撞檢測。你想要的是一個射線與多邊形相交測試,這是你可以用Box2D或Chipmunk做的事情。兩者都包含在Cocos2D(適用於iPhone)中。 Box2D的和花栗鼠允許執行遊戲物理就像地心引力,風,碰撞檢測等

如果你需要做一個檢測平原的Cocos2D「的那種」,那麼我建議使用CGRectContainsCGRect或CGRectContainsCGPoint或CGRectIntersectsCGRrect功能來照着做。這可能會幫助你實現你想要的,但它不會像使用Box2D或Chipmunk遊戲物理一樣好。

+0

我猜我沒有選擇,只能移動到Box2d。謝謝你的建議。 – vwee 2012-03-24 04:31:53

0

cocos2d只提供簡單的碰撞檢測,如CCRect::rectContainsPoint(在cocos2d-x)或rectIntersectsRect

如果你的多邊形是一個矩形,那麼你可以通過判斷這個矩形所包含的線條是否有點來進行檢測。