1. 程式人生 > >微信小遊戲 資源下載解壓

微信小遊戲 資源下載解壓

var fileManager = wx.getFileSystemManager();

// 下載資源

var downloadTask = wx.downloadFile({

    url: '下載資源的目錄,zip格式',

    success:function(res){ // 下載成功

             var filePath = res.tempFilePath; // 下載路徑

              fileManager.unzip({

                          zipFilePath:filePath,   // 資源下載後路徑

                          targetPath:wx.env.USER_DATA_PATH,  // 解壓資源存放路徑

                           success : function(res){// 解壓成功

                           },                           

                          fail : function(res){// 解壓失敗

                           },

              })

    },

    fail : function(res){ // 下載失敗

     },

})

// 下載資源進度

downloadTask.onProgressUpdate((res) => {

      res.progress // 下載的進度
  })

/* ****************************************** 使用下載的資源     ****************************************** */

// 使用下載的圖片 引數,sprite節點 圖片名稱

var loadImage = function(imagnode,name){
    var path = wx.env.USER_DATA_PATH + "/image/" + name + '.png'
    
    cc.loader.load(path,function(err, texture){
        imagnode.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture);
    })

}

// 使用下載的龍骨動畫 引數: 龍骨控制元件,動畫名稱,armatureName 為null 預設 = "Armature",回撥函式

var loadAni = function(armatureDisPlay,name,armatureName,callfunc){

         var path = wx.env.USER_DATA_PATH + "/fire/ani/" 
          fileArr.push(path+ name + '_tex.json');
          fileArr.push(path+ name + '_ske.json');
          fileArr.push(path+ name + "_tex.png");

   
         cc.loader.load(fileArr,function(err,res){
               armatureDisPlay.dragonAtlasAsset = null;
               armatureDisPlay.dragonAsset = null;
               armatureDisPlay.armatureName = "";

               var atlasAsset= new dragonBones.DragonBonesAtlasAsset();
               atlasAsset.atlasJson = null
               atlasAsset.texture = null
               atlasAsset.atlasJson = JSON.stringify(res.getContent(fileArr[0]));
               atlasAsset.texture = fileArr[2];
               var bonesAsset=new dragonBones.DragonBonesAsset();
               bonesAsset.dragonBonesJson = null
               bonesAsset.dragonBonesJson = JSON.stringify(res.getContent(fileArr[1]));

               armatureDisPlay.dragonAtlasAsset = atlasAsset;
               armatureDisPlay.dragonAsset = bonesAsset;
        
               armatureDisPlay.armatureName = armatureName || "Armature";
               if (callfunc) {
                    callfunc()
               }
    })

}