====== DBSprite: 在Starling Builder中使用DragonBones ====== Starling Builder通过一个叫DBSprite的自定义组件读取DragonBones动画。以下文档介绍如何在编辑器和项目中使用DragonBones === 在编辑器中使用 === * 更新编辑器到最新版本 * 复制最新版本的EmbeddedComponents.swf到workspace/libs/ * 打开workspace/settings/ui_builder.json,设置assetMediator为com.sgn.uicomponents.animation.DBAssetMediator * 点击Workspace -> delete template override并重新启动编辑器 * 在container tab里,你可以看到starlingbuilder.extensions.animation.DBSprite. * 导出图集atlas和和骨骼数据skeleton为xml格式。修改骨骼文件名让其与图集名字相同。例如dragon.png(图片),dragon.xml(图集),dragon.dat(骨骼数据),然后复制到assets目录 * 点击DBSprite,输入armature名字和animation名字,然后勾选autoPlay就可以在编辑器里直接播放动画。 你可以在最新的demo workspace里找到已经设置好的dragonbones_test.json。 {{:builder:dbsprite.jpg?700|}} === 在项目中使用 === 为了让DragonBones正常工作,我们需要注入两个依赖到组件: StarlingFactory和WorldClock。 通过IAssetMediaotr.getCustomData方法,你可以注入任意依赖到一个以IAssetMeidator为构造函数参数自定义组件。 对于DBSprite,你可以通过以下方式实现该方法 override public function getCustomData(type:String, name:String):Object { switch (type) { case DBSprite.STARLING_FACTORY: return _starlingFactory; case DBSprite.WORLD_CLOCK: return _worldClock; default: return null; } } 你可以决定怎样创建和管理_starlingFactory和_worldClock,只要在IAssetMediator.getCustomData方法中返回正确的依赖,DBSprite就可以正常工作。