关于Cocos Creator的Prefab的文件格式里面脚本

image

就是 图中脚本组件的状态里面的那个__type__的类型,是怎么得到的呀

var Base64KeyChars = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”;

var AsciiTo64 = new Array(128);
for (var i = 0; i < 128; ++i) { AsciiTo64[i] = 0; }
for (i = 0; i < 64; ++i) { AsciiTo64[Base64KeyChars.charCodeAt(i)] = i; }

var Reg_Dash = /-/g;
var Reg_Uuid = /^[0-9a-fA-F-]{36}/; var Reg_NormalizedUuid = /^[0-9a-fA-F]{32}/;
var Reg_CompressedUuid = /^[0-9a-zA-Z+/]{22,23}$/;

decompressUuid = function (str) {
if (str.length === 23) {
// decode base64
var hexChars = [];
for (var i = 5; i < 23; i += 2) {
var lhs = AsciiTo64[str.charCodeAt(i)];
var rhs = AsciiTo64[str.charCodeAt(i + 1)];
hexChars.push((lhs >> 2).toString(16));
hexChars.push((((lhs & 3) << 2) | rhs >> 4).toString(16));
hexChars.push((rhs & 0xF).toString(16));
}
str = str.slice(0, 5) + hexChars.join(’’);
} else if (str.length === 22) {
// decode base64
var hexChars = [];
for (var i = 2; i < 22; i += 2) {
var lhs = AsciiTo64[str.charCodeAt(i)];
var rhs = AsciiTo64[str.charCodeAt(i + 1)];
hexChars.push((lhs >> 2).toString(16));
hexChars.push((((lhs & 3) << 2) | rhs >> 4).toString(16));
hexChars.push((rhs & 0xF).toString(16));
}
//
str = str.slice(0, 2) + hexChars.join(’’);
}
return [str.slice(0, 8), str.slice(8, 12), str.slice(12, 16), str.slice(16, 20), str.slice(20)].join(’-’);
}

调用 decompressUuid就得到了完整的uuid
你懂的

如果你要访问这个文件的话 还得借助 临时文件夹目录下的一个文件 library/uuid-to-mtime.json

就可以读取到这个脚本再本地的目录。