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。

在项目中使用

为了让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就可以正常工作。

  builder/dbsprite_cn.txt · Last modified: 2016/07/30 03:37 by johannh
 
Powered by DokuWiki