如图,在cocos studio中设置碰撞框后,加载到游戏中,运行后明显框与角色分离了,代码如下:
void GameLayer::loadHeroRes()
{
ArmatureDataManager::getInstance()->addArmatureFileInfo("Hero/Hero0.png", "Hero/Hero0.plist", "Hero/Hero.ExportJson");
RoleAniPlayer = Armature::create("Hero");
RoleAniPlayer->setAnchorPoint(Vec2(0.5f, 0));
RoleAniPlayer->setPosition(Director::getInstance()->getWinSize().width / 4, 99);
RoleAniPlayer->getAnimation()->playWithIndex(0);
// RoleAniPlayer->setScale(0.4f);
this->addChild(RoleAniPlayer, 1);
b2BodyDef RoleBodyDef;
RoleBodyDef.type = b2_kinematicBody;
RoleBodyDef.position.Set(RoleAniPlayer->getPositionX() / PT_RATIO, RoleAniPlayer->getPositionY() / PT_RATIO);
RoleBodyDef.fixedRotation = true;
b2Body* RoleBody = world->CreateBody(&RoleBodyDef);
RoleAniPlayer->setBody(RoleBody);
for (b2Fixture* f = RoleBody->GetFixtureList(); f; f = f->GetNext())
{
f->SetSensor(false);
b2Filter RoleFilter = f->GetFilterData();
RoleFilter.categoryBits = Role_Catagory;
RoleFilter.groupIndex = Role_Group;
f->SetFilterData(RoleFilter);
}
}
```
求大神解答...
