[Cocos Creator] 本地文件加載系列一:本地文件讀取(web模式)
[Cocos Creator] 本地文件加載系列二:本地音頻文件播放(web模式)
[Cocos Creator] 本地文件加載系列三:本地粒子文件加載和播放(web模式)
[Cocos Creator] 本地文件加載系列四:本地圖片文件加載(web模式)
// TS
// 方法參考前文
// spineFile, atlasFile, imgFile, spine: sp.Skeleton = null;
readLocalFile(spineFile, READ_FILE_TYPE.TEXT, (spineResult: string | ArrayBuffer) => {
if (spineResult && atlasFile) {
readLocalFile(atlasFile, READ_FILE_TYPE.TEXT, (atlasResult: string | ArrayBuffer) => {
if (atlasResult && imgFile) {
readLocalFile(imgFile, READ_FILE_TYPE.DATA_URL, (imgResult: string | ArrayBuffer) => {
if (imgResult) {
let spineJson = JSON.parse(spineResult.toString());
let atlasStr = atlasResult.toString();
let fileBase64 = imgResult.toString();
base64ToTexture2D(fileBase64, (texture: cc.Texture2D) => {
var asset = new sp.SkeletonData();
asset.skeletonJson = spineJson;
asset.atlasText = atlasStr;
asset.textures = [texture];
asset['textureNames'] = [imgFile.name];
spine.skeletonData = asset;
// 所有動畫名稱
let animations = Object.keys(spine.animations);
});
}
});
}
});
}
});
不清楚的地方參考引擎代碼
spine.js => engine/extensions/spine/lib/spine.js
Skeleton.js => engine/extensions/spine/Skeleton.js