文件唯一标识

来源:互联网 发布:郑爽白莲花邪教知乎 编辑:程序博客网 时间:2024/04/30 15:33

cocos2dx 很简单的把音效处理封装在SimpleAudioEngine里面,播放文件的时候,创建一个文件唯一标识,当然不是简单的来一个文件就一个index++,因为这样区别不了同一文件的播放!

unsigned int _Hash(const char *key)
{
    unsigned int len = strlen(key);
    const char *end=key+len;
    unsigned int hash;


    for (hash = 0; key < end; key++)
    {
        hash *= 16777619;
        hash ^= (unsigned int) (unsigned char) toupper(*key);
    }
    return (hash);
}

上面的代码,我也弄不明白。确定的是能够给一个文件明创建一个标识数字,同一文件同一个标识。这样,播放统一音效的时候,可以通过这个标识找到相对应的资源文件,我们可以通过一个map管理。