为动态设置b2Body的isSensor

时间:2013-01-14 11:30:20

标签: objective-c cocos2d-iphone box2d fixture

我只想在某些工作流程中为我的b2Body更改isSensor 我做了什么:

b2Fixture *fixture = currentBody->GetFixtureList();
if (...)
{
   fixture->SetSensor(false);
}else
{
   fixture->SetSensor(true);
}

但是我没有找到任何办法将这个装置设置到身体后面。请建议这样做的方法。 谢谢!

1 个答案:

答案 0 :(得分:1)

这会将身体上的所有灯具设置为传感器。 。一旦你完成了这个,你就必须把它交还给身体,身体已经有了对灯具的引用。

-(void) setIsSensor:(bool)isSensor
{
    for (b2Fixture *fixture = body->GetFixtureList(); fixture; fixture = fixture->GetNext())
    {
        fixture->SetSensor(isSensor);
    }
}