白鹭引擎-自定义资源处理器, 解析加密资源

白鹭引擎支持自定义资源加载器, 可以方便的使用加密资源;
例如有一个 expmble.png, 加密后为 example.png.enc

下面是自定义资源处理器的示例:

 在Main.ts里面, 注册一个自定义的解析器, EncryptAnalyzer;

 

//Main.ts入口文件, 增加enc格式注册

RES.processor.map("enc",EncryptAnalyzer);

  

增加 EncryptAnalyzer.ts  文件


//EncryptAnalyzer.ts var EncryptAnalyzer:RES.processor.Processor = { onLoadStart(host,resource){ return new Promise(( reslove ,reject ) => { var request: egret.HttpRequest = new egret.HttpRequest(); request.responseType = egret.HttpResponseType.ARRAY_BUFFER; request.open(resource.root+resource.url, "get"); request.send(); let onSuccess = ()=>{ let bufData = request['response'];
          //对加密的数据, 使用xxtea解密 let _xxtea = xxtea.getInstance(); let bytes = _xxtea.decrypt(new Uint8Array(bufData), 'password'); egret.BitmapData.create('arraybuffer', bytes, function(bmpData){ let texture = new egret.Texture(); texture._setBitmapData(bmpData); return reslove(texture); }); } request.addEventListener(egret.Event.COMPLETE, onSuccess, this); }) }, onRemoveStart(host,resource){ let texture = host.get(resource); texture.dispose(); return Promise.resolve(); } }

  

 

转载于:https://www.cnblogs.com/DouKeKe/p/9429291.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值