Armature Skin

cocos2dx2.2.1

the code:
CCSkin *skin = CCSkin::createWithSpriteFrameName(“shangyi0002-body.png”);
in different place can get different AnchorPoint。

  1. it is right when the code is in Layer.(0.486667,0.878205)
  2. it is wrong when the cde is in My Armature.cpp

Some one can tell me why??

CCDICT_FOREACH(dictData, pElementData){
CCLog(“部位:s",pElementData->getStrKey());
const char* part;
const char* pngName;
CCBone *bone = resourceArma->getBone(pElementData->getStrKey());
CCBoneData *bd = bone->getBoneData();
part = bd->name.c_str();
CCLog("part:s”,part);
CCDisplayData **dData = bd~~>getDisplayData;
CCSpriteDisplayData ccs = dData;
pngName = .c_str;
CCLog;
CCSkin
sk = CCSkin::createWithSpriteFrameName;

I change the code to:
CCDICT_FOREACH{
CCLog);
CCBone bone = resourceArma->getBone);
CCBoneData
bd = bone~~>getBoneData;
CCString**part = CCString::create(bd->name);
CCLog(“part:s",part->getCString());
CCDisplayData *dData = bd->getDisplayData(0);
CCSpriteDisplayData *ccs = (CCSpriteDisplayData*)dData;
CCString *pngName = CCString::create(ccs->displayName + “.png”);
CCLog("pngName:s”,pngName->getCString());

CCSkin *sk = CCSkin::createWithSpriteFrameName(pngName->getCString());

and it is ok now.
can anyone tell me why?