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