2015-11-05 53 views
0

我使用cocos2d的JS 3.8与花栗鼠物理,我想过滤的碰撞,但它不工作,我已经设置 shape.categoryBits =1;shape.maskBits =2; 供玩家和shape.categoryBits =3;shape.maskBits =4;对敌人 但他们仍然相撞。我做错什么了吗?的cocos2d JS花栗鼠碰撞过滤

回答

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和条件没有得到满足。