2014-06-17 36 views
2

我的工作在遊戲中,我需要從不同的側面不同的碰撞行爲,
SPriteKit處理衝突的行爲

假設有一個字符時,碰撞,從下側的任何其他障礙物時,它會以不同的方式表現

當碰撞到任何其他障礙物或物體,而這是在頂部和障礙物或物體下方,然後我需要不同的行爲,

什麼是acheive它的最佳方式。 -(void)didBeginContact:(SKPhysicsContact*)contact怎麼是
樂於助人在我的情況

感謝

+1

skphysicscontact讓你接觸點https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKPhysicsContact/Reference/Reference.html#//apple_ref/occ/instp/SKPhysicsContact/contactPoint檢查其中接觸點與節點A和節點B的位置相關。即,如果posA.x contactpoint.x,則聯繫人位於nodeA的右側。 – LearnCocos2D

+0

謝謝你的想法是有幫助的。 –

+0

還有一點與我的問題沒有關係,但我有點困惑,那是決定身體A和身體B在SkphysicsContact.or中的簡單詞的什麼標準決定身體接觸是contact.bodyA或contact.bodyB?謝謝 –

回答

0

LearnCocos2D引導我正確的方向

skphysicscontact給你的接觸點developer.apple.com/library/ios/documentation/SpriteKit/...檢查,其中接觸點是相對於nodeA和nodeB上的位置。即,如果posA.x < contactpoint.x和posB.x> contactpoint.x,則聯繫人位於nodeA的右側。

1

你甚至不需要接觸點。在確定接觸到的內容後,調用的方法可以訪問聯繫中的節點。因此,您可以比較x和y的位置並相應地處理它們。然後,您可以忽略collisionBitMask並在聯繫人調用的方法中複製碰撞。