2012-12-06 102 views
0

嗨,我正在研究cocos2d遊戲某種射手與景觀和目標,你有在你面前的目標在真實的射擊場。對於子彈的影響,我使用粒子效應,在屏幕上的某個點產生影響,並在對目標產生影響時播放簡單的動畫並落在地面上。我的遊戲使用矩形目標完美工作,但我也想使用真實的身體形狀。所以當粒子撞擊身體時,它會下降。而且我想用輪廓追蹤的精靈,以便當粒子撞擊到腿部之間或肩部之間以及頭部射擊失敗時。我使用此代碼來檢測粒子何時影響正常矩形目標的目標。Cocos2d不規則形狀精靈

// Sustem是我的粒子(子彈) CGRect projectileRect = [enemy boundingBox];

if (CGRectContainsPoint(projectileRect, system.position)) { 
    [enemy runAction:_walkAction];} 

我嘗試使用vertexHelper物理編輯器和其他工具,但沒有成功,我不希望 碰撞檢測只運行某些行動時,粒子是一些跟蹤點之間

回答

1

我覺得你的痛苦。沒有簡單的方法來檢測非方形衝突。您可以使用PhysicsEditor並遵循Ray的教程: how to use box2d for just collision detection。我討厭實現一個物理引擎(在我看來,這是sl)不馴的),這樣我就可以使用非方形精靈。還有其他方法,比如貝塞爾曲線,但在你的情況下(目標拍攝),我懷疑你會需要儘可能多的準確性。 PhysicsEditor和box2d/chipmunk將提供這個功能。