我参考了cocostudio 上的GameDemo例子
先建立一个世界
CCSize s = CCDirector::sharedDirector()->getVisibleSize();
m_world = new b2World(b2Vec2(0.0f, 0.0f));
m_world->SetAllowSleeping(true);
m_world->SetContinuousPhysics(true);
m_world->SetContactListener(this);
// 再建立一个地板
//地板body
b2Body* ground = NULL;
b2BodyDef bd;
ground = m_world->CreateBody(&bd);
//地板 ---定义边缘形状
b2EdgeShape shape;
//底部
shape.Set(b2Vec2(0, -1),b2Vec2(s.width/RATIO, -1));
ground->CreateFixture(&shape, 0.0f);
setDebug(true);
//一个人物的armature
b2BodyDef bodyDef;
bodyDef.type = b2_dynamicBody;
bodyDef.linearVelocity = b2Vec2(10, 0);
b2Body* body = m_world->CreateBody(&bodyDef);
b2Fixture *fixture = body->GetFixtureList();
if(fixture != NULL)
{
fixture->SetUserData(player);
b2Filter filter = fixture->GetFilterData();
filter.categoryBits = HERO;
filter.groupIndex = PLAYER_GROUPINDEX;
fixture->SetFilterData(filter);
}
我每次运行的时候我的armature都会穿过 我划的那条线,不会产生碰撞,请问这事什么原因呢? 是因为我没有成功获取骨骼的shape吗?