Cocos2d x Cocos2d js花栗鼠碰撞过滤器

Cocos2d x Cocos2d js花栗鼠碰撞过滤器,cocos2d-x,collision,chipmunk,Cocos2d X,Collision,Chipmunk,我正在使用cocos2d js 3.8和花栗鼠物理,我试图过滤碰撞,但它不起作用,我已经设置了 shape.categoryBits=1;shape.maskBits=2; 对于玩家和shape.categoryBits=3;shape.maskBits=4;为敌人 但它们仍然在碰撞。我做错什么了吗?我不确定js,但我认为碰撞检测与Cocos2d-x中的相同。 因此,尝试设置shape.categoryBits=1;shape.maskBits=1;对于玩家和shape.categoryBits

我正在使用cocos2d js 3.8和花栗鼠物理,我试图过滤碰撞,但它不起作用,我已经设置了 shape.categoryBits=1;shape.maskBits=2; 对于玩家和shape.categoryBits=3;shape.maskBits=4;为敌人
但它们仍然在碰撞。我做错什么了吗?

我不确定js,但我认为碰撞检测与Cocos2d-x中的相同。 因此,尝试设置shape.categoryBits=1;shape.maskBits=1;对于玩家和shape.categoryBits=2;shape.maskBits=2;为了敌人。在这种情况下,英雄不应该碰撞敌人,但敌人应该相互碰撞。 基本思想是非碰撞对象的条件:

(shapeA.categoryBits & shapeB.maskBits == 0) || (shapeB.categoryBits & shapeA.maskBits == 0)
但是现在您有0001&0100==0 | | 0011&0010==0是false,因为0011&0010=0010,并且不满足条件