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案例介绍回顾
《雪鹰领主3D》昨日腾讯玩吧首发! HTML5进入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公众号