Cocos2d 使物理 body 可以通过任何东西

Cocos2d make physics body passable by anything

我正在尝试制作一个静态物理 body,它可以被任何东西传递,就像它不存在一样(就像一个普通的精灵)。无限补偿显然不起作用。这可能吗?

我正在尝试模拟爬梯子,所以我需要处理接触,同时让玩家可以通过梯子 body。

如果您使用 Chipmunk(Cocos2d-x 中的默认物理):

在对象 A 的物理初始化器中

// Chipmunk collision
int a = 1;// 0000 0001
physicsBody->setCategoryBitmask(a);

在对象 B 的物理初始化器中

int b = 0;// 0000 0000
physicsBody->setCollisionBitmask(b);// a & b will == 0 => no collision.
// 

int c = 1;// 0000 0001
physicsBody->setContactTestBitmask(c);
// a & c will != 0 => will call onContact...() help you handle manually