DragonBones是一款常用于游戲開發的2D骨骼動畫引擎,它的核心是龍骨編輯器。在編輯器中創建的骨骼動畫可以導出為json格式的數據文件,方便在游戲中使用。下面我們來介紹一下這些json文件的結構和使用。
{ "armature":[ { "name":"Monster", "bone":[ {"name":"root"}, {"name":"body","parent":"root"}, {"name":"head","parent":"body"} ], "skin":[ { "name":"monster", "slot":[ { "name":"body", "display":[ {"name":"body_normal","type":"image","path":"monster/body_normal.png"}, {"name":"body_hurt","type":"image","path":"monster/body_hurt.png"} ] }, { "name":"head", "display":[ {"name":"head_normal","type":"image","path":"monster/head_normal.png"}, {"name":"head_hurt","type":"image","path":"monster/head_hurt.png"} ] } ] } ], "animation":[ { "name":"run", "duration":1, "frame":[ {"duration":30,"action":[],"event":[],"sound":[],"curve":[]}, {"duration":30,"action":[],"event":[],"sound":[],"curve":[]}, {"duration":30,"action":[],"event":[],"sound":[],"curve":[]} ] } ] } ] }
這是一個DragonBones導出的包含一個“Monster”骨骼動畫的json文件。可以看到,這個json文件包含了一個“armature”對象,里面存儲了骨骼、皮膚和動畫等數據。其中,骨骼數據保存在“bone”數組中,每個骨骼由“name”和“parent”屬性組成,表示骨骼的名稱和父子關系。皮膚數據存儲在“skin”數組中,每個皮膚由“name”和“slot”屬性組成,表示皮膚的名稱和所對應的插槽。插槽又包含了“name”和“display”屬性,表示插槽的名稱和插槽所使用的顯示對象。動畫數據存儲在“animation”數組中,每個動畫由“name”、“duration”和“frame”屬性組成,表示動畫的名稱、持續時間和關鍵幀數據。
在游戲中使用DragonBones的時候,可以使用官方提供的DragonBones庫來解析這些json文件,并將骨骼動畫渲染到屏幕上。具體使用方法請參見DragonBones官方文檔。
上一篇c 怎么反序列化json
下一篇python 知網摘要