公司的人想用龙骨,但是同事在官网找不着二进制的资料...于是写了个简单demo。
demo中包含了帧动画、骨骼动画json、极速和二进制的资源和代码
测试环境:
DragonBonesPro 5.5 (5.6一直报错无法导出,后来据说是未注册登录...)
Egret Wing4.1.0
EgretEgnie 5.0.14
目录:一、代码运行效果图
二、效率和内存占用对比
三、二进制龙骨使用方法
四、Demo下载
一、 代码运行效果图:
demo中使用的龙骨动画来自打开dragonbone软件后首页的那条龙
二、 效率和内存占用对比:
这里帧动画的图没压缩哈,看上去5m真吓人,可以到tiny上压缩,压缩了是800多kb。
三、 二进制龙骨使用方法
一般都会使用最新的二进制格式,也是官方推荐的。
软件左上菜单 文件 -> 导出 -> 二进制
会得到3个文件,放到Egret项目resource资源文件夹下
将文件导入资源配置文件default.res.json中
二进制dbbin文件需要选择类型为bin
egretProperties.json文件中导入dragonBones库,并编译一遍引擎
代码中创建骨骼动画
[AppleScript] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
|
let factory = dragonBones.EgretFactory.factory; factory.parseDragonBonesData ( RES.getRes ( "NewDragon_ske_bin" ) ) ; factory.parseTextureAtlasData ( RES.getRes ( "NewDragon_tex2_json" ) , RES.getRes ( "NewDragon_tex3_png" ) ) ; this.armatureDisplay = factory.buildArmatureDisplay ( "armatureName" ) ; this.armatureDisplay.animation.play ( "stand" , 0 ) ; this.addChild ( this.armatureDisplay ) ; |
补充:
关于龙骨的名字"armatureName"和动作"stand"的名字,可以查看dragonbones的工具里。我这里是补充,原来的图找不到了,所以名字是"Dragon"了。
也可以查看发布后的ske文件。名字一般在最前面。动作名一般在playTimes关键字后面。
四、 Demo下载