2014-03-27 27 views
1

是否有SKSpritePhysicsBody計算不同的碰撞狀態取決於它與另一個身體接觸的位置?例如,如果一個藍色的球如果接觸另一個物體的一側就會變成綠色,或者如果它接觸到另一個物體的底部,則變成黃色。是否有可能檢測到特定物體上的不同碰撞點?

+0

該節點的每個部分創建不同physicsBodies。 – ZeMoon

+0

@akashg好想法。 –

回答

1

好像現在我還沒有發現任何具體的,回答你的問題,但我可以給你周圍即首先的方式使用didBeginContact委託檢測機構的碰撞和使用 contact.contactPoint屬性來找出接觸點。

你可以做的是使檢查邏輯,接觸點是在身體或身體的左側,然後根據您的需要轉動顏色。

- (void)didBeginContact:(SKPhysicsContact *)contact { 
    CGPoint pointOfContact= contact.contactPoint; 
    //this is just an example.. change the condition as per your need 
    if(pointOfContact.x>yourSpritePosition.frame.position.x&&pointOfContact.y>yourSpritePosition.frame.position.y){ 
    //your color change logic 
    } 
} 

我希望這可以解決您的問題。

+0

感謝您指出該屬性。這有幫助! –