公司的人想用龍骨,但是同事在官網找不着二進制的資料
...於是寫了個簡單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
