cocos2dx 2.2.2 cocostudio 动编的两个bug 反馈

第一个:异步加载。
addDataFromZipFileAsync 这个函数。判断是否缓存有这个文件,有就返回了,思路是对的,判断条件,令人堪忧啊。

    for(unsigned int i = 0; i < s_arrConfigFileList.size(); i++)
    {
        if (s_arrConfigFileList*.compare(filePath) == 0)
        {
            if (target && selector)
            {
                std::string fullpath = filePath;
                int index = fullpath.find_last_of(".");
                std::string temp_path = fullpath.substr(0,index);
                CCArmatureDataManager* manager = CCArmatureDataManager::sharedArmatureDataManager();
                CCArmatureData* data = (CCArmatureData*)(manager->getArmatureData(temp_path.c_str()));
                if (data)
                {
                    if (s_nAsyncRefTotalCount == 0 && s_nAsyncRefCount == 0)
                    {
                        (target->*selector)(1);
                    }
                    else
                    {
                        (target->*selector)((s_nAsyncRefTotalCount - s_nAsyncRefCount) / (float)s_nAsyncRefTotalCount);
                    }
                    return;
                }
            }
            //
        }
    }


```

我稍许修改了下,判断data加载好了,才会 return。

第二个bug,(这个比较长)
void CCArmatureAnimation::playWithArray(AnimationListToBinding* array)

```

我想用这个函数,看起来 还不错的样子,上面的 我已经修改了。
原来的 大概是
CCArray *movementNames, int durationTo, bool loop

```

这样的。
发现了没。 保存队列名字很好,后面的怎么就不队列了呢?

我稍加修改了,变成队列了。后面有个update
void CCArmatureAnimation::updateMovementList()
{
    if (m_bOnMovementList)
    {
        if (m_bMovementListLoop)
        {
            play(m_sMovementList.at(m_uMovementIndex).c_str(), m_iMovementListDurationTo, -1, 0);
            m_uMovementIndex++;
            if (m_uMovementIndex >= m_sMovementList.size())
            {
                m_uMovementIndex = 0;
            }
        }
        else
        {
            if (m_uMovementIndex < m_sMovementList.size())
            {
                play(m_sMovementList.at(m_uMovementIndex).c_str(), m_iMovementListDurationTo, -1, 0);
                m_uMovementIndex++;
            }
            else
            {
                m_bOnMovementList = false;
            }
        }

        m_bOnMovementList = true;
    }
}


```

play 后面的loop 俩都是-1.

错误的重点 就这俩。*