公司的人想用龙骨,但是同事在官网找不着二进制的资料【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制...于是写了个简单demo。

demo中包含了帧动画、骨骼动画json、极速和二进制的资源和代码


测试环境:
DragonBonesPro 5.5   (5.6一直报错无法导出,后来据说是未注册登录...)
Egret Wing4.1.0
EgretEgnie 5.0.14

目录:一、代码运行效果图
二、效率和内存占用对比
三、二进制龙骨使用方法
四、Demo下载


一、  代码运行效果图:
demo中使用的龙骨动画来自打开dragonbone软件后首页的那条龙
【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 






二、  效率和内存占用对比:
这里帧动画的图没压缩哈,看上去5m真吓人,可以到tiny上压缩,压缩了是800多kb。
【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 






三、 二进制龙骨使用方法
一般都会使用最新的二进制格式,也是官方推荐的。
软件左上菜单  文件 -> 导出 -> 二进制
【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 




会得到3个文件,放到Egret项目resource资源文件夹下
【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 



将文件导入资源配置文件default.res.json中
【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 



二进制dbbin文件需要选择类型为bin
【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 




egretProperties.json文件中导入dragonBones库,并编译一遍引擎
【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 




代码中创建骨骼动画

[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"了。

【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 

也可以查看发布后的ske文件。名字一般在最前面。动作名一般在playTimes关键字后面。

【咸鱼教程】DragonBones帧动画、骨骼json、极速、二进制

 





四、Demo下载

https://files-cdn.cnblogs.com/files/gamedaybyday/Egret5.0.14_boneDemo.7z

相关文章:

  • 2021-08-20
  • 2021-04-20
  • 2021-08-30
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-23
  • 2021-10-17
  • 2021-12-05
  • 2021-04-07
  • 2021-12-05
  • 2022-12-23
相关资源
相似解决方案