CCArmature换皮肤,皮肤四处飞散

cocos2d-x版本2.2.5
cocostudio版本1.6
出现的手机:所有
出现概率:100%
若创建人物后立即换肤,可见皮肤从人物向四处飞散。
若创建人物进入游戏,0.1秒后,再换肤,可见皮肤从人物周围飞散。
若创建人物进入游戏,1秒后,再换肤,可见皮肤不飞散。(其实是已飞散到屏幕外了)
神奇的是,在皮肤飞散后,但人物本身的骨骼和皮肤,是正常的。飞散出去的,似乎是复制品。

armatureHero = new CCArmature();
armatureHero->init(“hero_1”);
armatureHero->setScale(1.2f);
armatureHero->setPosition(ccp(254, 161));
armatureHero->setZOrder(1);
animationHero = armatureHero->getAnimation();
animationHero->setSpeedScale(1.5f);
animationHero->setMovementEventCallFunc(this, movementEvent_selector(MainMenuScene::onHeroAnimationEvent));
animationHero->play(“attack-1”);
this->addChild(armatureHero);
for (int i = 0; i < 16; i++) //替换16块皮肤
{
CCBone* bone = NULL;
CCSkin* weaponSkin = NULL;
string skinfile = “hero_” + IntToStr(skinData*.tail) + “r.png”; //找到骨骼皮肤图
string layerstr = “Layer” + IntToStr(skinData*.layer); //找到要替换的骨骼Layer名称
bone = armatureHero->getBone(layerstr.c_str());
bone->changeDisplayWithIndex(-1, true);
weaponSkin = CCSkin::createWithSpriteFrameName(skinfile.c_str());
if (weaponSkin)
{
bone->addDisplay(weaponSkin, 0); //添加皮肤到骨骼
}
bone->changeDisplayWithIndex(0, true); //显示新添加的骨骼
}
**

你好,能截个图看下么?
换装是要求不更改装备图片的大小的情况下完成的。如果更改了就不对。另外你的动画正常播放是否会散架呢?

图片大小我明天确认一下。动画可正常播放。