关于加载骨骼动画资源的问题

使用Cocos2d-x-2.2.2,我在Loading场景中,尝试了以下几种加载骨骼的方式,分别发生了不同的现象,这是何解?

1、使用CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo加载
结果:切换到游戏主场景中,可以正常使用和显示

2、使用CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync
结果:切换到游戏主场景中,很多图片显示不出来,缺胳膊少腿,甚至有些角色整个显示不出来了

3、单独线程(使用pthread)中使用CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo加载
结果:切换到游戏主场景中,图片显示出来是黑的

你好,请使用前两种方法添加。关于第二种方法显示不完全,请检查加载是否完成。如果未完成,请勿调用creat()。

你好,我确认了,在addArmatureFileInfoAsync回调中,计数加载的个数,LOG也打印出来了,还真的就是加载完成,但未能显示出来呢
是否跟我切换场景有关?
但使用addArmatureFileInfo,是没有问题的

会不会跟我一个骨骼,有多个png和plist有关?比如有0-10?

看到CCDataReaderHelper::addDataFromFileAsync代码里面

for(unsigned int i = 0; i < s_arrConfigFileList.size(); i++)
{
    if (s_arrConfigFileList*.compare(filePath) == 0)
    {
        if (target && selector)
        {
            if (s_nAsyncRefTotalCount == 0 && s_nAsyncRefCount == 0)
            {
                (target->*selector)(1);
            }
            else
            {
                (target->*selector)((s_nAsyncRefTotalCount - s_nAsyncRefCount) / (float)s_nAsyncRefTotalCount);
            }
        }
        return;
    }
}

这里是根据ExportJson文件判断的
如果这个文件已经被添加过了,是会直接返回的
而有多个文件的骨骼,ExportJson是一样的*

已经解决
使用CCArmatureDataManager::addArmatureFileInfoAsync(const char *configFilePath, CCObject *target, SEL_SCHEDULE selector)
因为有同一个骨骼有多个png和plist,使用这个方法,可以自动加载所有png和plist