[Cocos Creator] 本地文件加載系列五:本地spine文件加載(web模式)

[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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章