公司的人想用龙骨,但是同事在官网找不着二进制的资料...于是写了个简单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库,并编译一遍引擎
代码中创建骨骼动画
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下载
https://files-cdn.cnblogs.com/files/gamedaybyday/Egret5.0.14_boneDemo.7z