box2d怎么进行单向碰撞检测?

  • 本帖最后由 自在仙人 于 2012-11-14 17:18 编辑 *

如有一个云层人物从下方跳到上方,跳上时可穿越,落下是不可穿越。
不可以设置云层为SetSensor(true),因为当有一个人跳上之后,再有一个人跳上,云层设置为可穿越时前一个人会掉下来。
所以我觉得应该在碰撞时设置人为可穿越,碰撞结束时再将人设为不可穿越
class MyContactListener : public b2ContactListener
{
virtual void BeginContact(b2Contact* contact)
{
1.这里设置人为可穿越SetSensor(true)
}
virtual void EndContact(b2Contact* contact)
{
2.这里设置人为不可穿越SetSensor(false)
}
}
但是结果和想像当中不一样,在1那里人得速度向上也设置了true但是还是无法穿越碰撞完就向下落,哪位高手能讲一下么进行单向碰撞检测???