如何排除多个物理体碰撞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;
我从其他 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;