2014-07-06 47 views
0

我希望相同對象類型的兩個節點相互忽略而不會發生衝突。根據蘋果文檔,如何讓兩個相同的Spritekit節點忽略衝突

「通過執行邏輯AND操作,將該body的碰撞掩碼與其他body的類別掩碼進行比較,如果結果爲非零值,則該body受到碰撞的影響。

所以,我設置

ball.physics.categoryBitMask = 0x00000000; 
ball.physics.collisionBitMask = 0x00000000; 

這將使邏輯與操作結果爲零,但他們仍然在發生碰撞對方出於某種原因。

你如何讓它通過對方?

回答

0

請勿將類別掩碼設置爲0。

+0

這並不解決問題。它仍然發生碰撞。 – chanpkr

+0

你的類別掩碼聲明可能有問題。嘗試設置靜態常量uint32_t ballCategory = 0x1 << 1;就在@implementation UrClass之前:然後將categorybitmask設置爲ballCategory – mihnea2kx

0

你正在設定球與自身碰撞。套裝:

static const uint32_t ballCategory  = 0x1 << 1; 

更改位掩碼:

ball.physics.categoryBitMask = ballCategory; 
ball.physics.collisionBitMask = 0;