Cocos2d js Chipmunk碰撞过滤器

时间:2015-11-05 14:07:55

标签: cocos2d-x collision chipmunk

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

1 个答案:

答案 0 :(得分:0)

我不确定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)是假的,因为0011 & 0010 = 0010,条件不符合。