LayaAir引擎3D已适配微信小游戏与QQ玩一玩
3月10日,LayaAir引擎发布了1.7.17beta版。
其中有三个重要的更新:
一、LayaAir引擎的3D API全面适配了微信小游戏与QQ玩一玩。
二、支持在项目内设置微信本地包的路径列表。
三、开放微信小游戏的缓存管理接口。
全面适配3D API
经过测试,LayaAir引擎的官方示例全部可以在微信小游戏与QQ玩一玩的环境中运行。
从LayaAir 1.7.17beta版开始 ,微信小游戏与QQ玩一玩内不仅可以运行大型2D HTML5游戏,也可以运行大型 3D HTML5游戏了。
关于微信小游戏4M本地包的白名单
之前的适配方案,定义了wxlocal目录为本地包白名单。但基于一些更复杂的项目,为避免破坏已有项目的目录结构。从LayaAir 1.7.17beta版开始 ,新增白名单列表的属性nativefiles。
例如:
1
2
3
4
5
6
7
8
9
|
MiniAdpter.nativefiles = [ "wxlocal" ,
"res/atlas/houzi.atlas" ,
"res/atlas/houzi.png" ,
"common/tishi.png" ,
"common/bg.png" ,
"ui.json" ,
"newLb/bg031.png"
]; |
由于使用了nativefiles属性后,原有默认目录wxlocal会失效,所以,如果还会继续用到wxlocal的,需要在nativefiles内将wxlocal加入到白名单。
关于微信小游戏的缓存管理
1、自动缓存管理的开启与关闭
在微信小游戏中,图片跟声音文件默认是自动进行缓存起来的,当超过50M的时候,会自动进行清理。如果不需要引擎自动管理缓存的,可以将MiniAdpter.autoCacheFile设置为false。
需要注意的是,自动缓存关闭后,由于不会自动清理,超过50M后将会导致写入缓存失败,所以要自己建立缓存策略,自己决定哪些文件要缓存,哪些文件需要手动清理。
2、手动下载文件并缓存本地
当不打算使用自动缓存功能,或者在自动缓存模式下,缓存json等自动缓存并不缓存的文件内容时,可以使用downLoadFile方法,去下载目标文件并缓存到本地。
1
2
3
4
5
6
7
8
|
/** * 下载文件 * @param fileUrl 文件地址(全路径) * @param fileType 文件类型(image、text、json、xml、arraybuffer、sound、atlas、font) * @param callBack 文件加载回调,回调内容[errorCode码(0成功,1失败,2加载进度) * @param encoding 文件编码默认 ascill,非图片文件加载需要设置相应的编码,二进制编码为空字符串 */
public static function downLoadFile(fileUrl: String , fileType: String = "" ,callBack:Handler = null ,encoding: String = "ascii" ): void
|
3、清除缓存文件
由于微信小游戏的缓存上限是50M物理空间,所以无论自动管理缓存还是手动管理缓存,达到上限后都需要清理缓存。每次清理的缓存大小默认为5M,如果想改变每次缓存清理的默认值,通过修改
MiniAdpter.minClearSize属性即可。
如果要删除指定的缓存文件或全部缓存文件时,可以使用remove或removeAll方法。
1
2
3
4
5
6
|
/** * 删除指定缓存文件 * @param fileUrl文件路径(绝对地址) * @param callBack 删除回调函数 */ public static function remove(fileUrl: String ,callBack:Handler): void {}
|
1
2
3
4
|
/** * 清空缓存空间全部文件内容 */
public static function removeAll(): void {}
|
关于更多缓存管理的接口说明和详细的使用文档,以及本地包白名单的接口使用文档。请前往官网的技术文档中查看,官网文档中心会不定期进行更新,丰富各种技术文档。
END
LayaAir引擎3D案例介绍回顾
Layabox提供的服务
Facebook Instant Games平台的接入服务
企业上门培训、性能优化、微端打包等技术服务
2D与3D游戏产品的联合研发、定制开发
休闲竞技商业框架或技术解决方案提供服务
LayaAir引擎
裸跑性能媲美APP的新一代HTML5引擎;
支持Canvas\WebGL模式自动切换;
支持2D\3D\VR产品开发;
支持使用ActionScript3\TypeScript\JavaScript三种语言开发;
一次开发可同时发布:手游APP(安卓、iOS)、HTML5、微信小游戏、QQ玩一玩等多个版本。
LayaAir引擎开发者2D交流群
QQ群号:708696009
LayaAir引擎开发者3D&VR交流群QQ群号:343966316
长按识别二维码,关注Layabox公众号