上周末LayaAirIDE 2.0的新版本已支持MAC版下载,等待该版本的开发者可以前往Layabox官网下载了。
除此之外,还针对微信小游戏开放域以及分包资源的使用,进行了更简便的优化体验增强。具体说明如下:
1、LayaAir 2.0 新增微信小游戏开放域数据展示组件
微信开放数据域的使用一直是个有一定门槛并且较为麻烦工作。比如,因开放域使用不当而导致的性能卡顿、鼠标事件对不上等。
在本次LayaAir 2.0更新的IDE版本中集成了微信开放域UI组件。开发者可以在工工程树里面的 Basics 下的 UI 里找到 WXOpenDataViewer这个组件。如下图所示:
在LayaAir 1.0的时候,我们将开放域的内容在主域中显示,需要写一些代码,比如要先取得sharedCanvas存到Texture纹理,然后再使用LayaAir的drawTexture接口绘制到主域舞台。示例代码如下图所示:
然而使用本次版本更新的WXOpenDataViewer组件后,我们无需再进行编码,直接在LayaAirIDE中将该组件拖动到IDE的舞台相应位置中,设置好大小即可。不仅可以避免因使用不当导致的性能卡顿,还可以避免开发者经常遇到的鼠标事件对不上问题。为微信小游戏的开发者降低了开放域的使用门槛。
2、LayaAir 1.7.20 & 2.0 beta3 新增微信小游戏开放域透传接口
微信开放数据域内对于图片资源的使用,只能从本地包中读取,如果要从网络中加载使用,通过Loader的方法直接加载网络资源的方式是行不通的,只能使用downLoadFile的方法先下载到本地缓存中,然后获取本地缓存中的图片路径通过小游戏的透传接口postMessage传到开放域内。
为了让开发者在不改变项目加载资源的代码逻辑前提下,可以在开放数据域正常使用资源。本次更新的版本新增了图集和单图的透传接口,开发者可以继续用Loader方法加载网络资源,再通过引擎提供的透传接口直接传到开放域中使用。
其中,MiniAdpter.sendAtlasToOpenDataContext 接口可以透传图集,MiniAdpter.sendSinglePicToOpenDataContext接口可以透传单图。
除了图片资源,还提供了MiniAdpter.sendJsonDataToDataContext 接口,可用于将非图片非声音非二进制的任何格式文件在主域内通过Loader方法加载后透传到开放数据域。通常,该接口会用于开放数据域使用配置数据之前,透传json格式配置信息。
3、LayaAir 1.7.20 & 2.0 beta3 新增分包资源目录配置接口
自从微信小游戏的分包功能推出后,除了代码可以分包外,资源也可以放到分包目录中,然而使用起来并不方便。LayaAir 1.0与2.0的最新版本中,新增了subNativeFiles分包资源目录配置属性,当开发者在subNativeFiles中配置了分包目录后,我们可以将分包内的资源视为主包资源一样使用。这里说的有点绕,为了方便大家理解,我们打个比方:
比如,H5模式开发过程中,资源分别放在根目录下的res/atlas/ 和 res/png/中,当放到小游戏主包中超过4M后,我们想将这个目录放到分包中,会先创建一个分包目录(比如subpackage),然后将资源目录迁移过去,小游戏中的目录结构就变为根目录下subpackage/res/atlas/ 和 subpackage/res/png/ 。而采用subNativeFiles后,我们在主包中,还是可以像调用主包资源的方式去调用分包内的资源。例如,我们要在主包代码中,显示一张分包subpackage/res/png/下的monkey.png。代码示例如下即可:
1
2
3
|
var image:Image = new Image();
image.skin = "res/png/monkey.png" ;
Laya.stage.addChild(image); |
那么subNativeFiles如何使用呢,示例代码如下:
1
2
3
4
5
6
|
MiniAdpter.subNativeFiles = { "subpackage" :[
"res/atlas/" ,
"res/png/"
]
}; |
注意:只有设置到subNativeFiles配置信息中的目录才可以在主包中直接使用。
除了设置subNativeFile配置信息外,如果有网络加载资源的需求时,不要忘了设置本地资源加载的白名单nativefiles。代码示例如下:
1
2
3
4
5
6
|
MiniAdpter.nativefiles = [ "subpackage/atlas/" ,
"subpackage/png/" ,
"atlas/" ,
"png/"
]; //本地资源目录设置
|
以上说明,是基于有分包基础的开发者,如果对于分包完全不了解的新开发者,请先前往Layabox开发者官网文档查看微信小游戏分包实战文档。
另外,关于以上新增功能的具体的用法与完整示例项目,可以关注官网文档,近期会在官网文档中更新。如果有长沙及周边的开发者,也可以前往10月18号的长沙游戏开发者沙龙现场沟通,现场会分享小游戏各种开发接口与使用经验。
活动介绍链接:
END