如何排除多个物理体碰撞BitMask

How to exclude multiple physicsbody collisionBitMask

我从其他 SO 的回答中发现,顺便说一句,您可以通过在位掩码中使用 ~ 来排除相同类型的 spritenode 物理体的碰撞:

    self.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:self.size.width/2.0];
    self.minionLife = 1.0;
    self.minionSpeed = 60.0;
    self.minionPath = 0;
    self.physicsBody.categoryBitMask = cat_enemy1;

    // does not collide with itself
    self.physicsBody.collisionBitMask = ~cat_enemy1; // here

问题是如何为这个 collisionBitMask 添加更多排除项?

我试过了:

self.physicsBody.collisionBitMask = ~cat_enemy1 | ~cat_playerShip; // here

但是没有用。

你必须或它然后否定它......:[=​​12=]

… = ~(cat_enemy1 | cat_playerShip);

… 或到它:

… = ~cat_enemy1 & ~cat_playerShip;