搜一搜,这方面资料很多。
本次测试基于 http://zengrong.net/post/1911.htm
1. Adobe Flash Pro CS6
2. DragonBones 插件 cocos2dx 专用版 http://download.csdn.net/detail/hanhongmin/6805295
3. cocos2dx 2.2.1 CCArmature的代码我改过了,详见我以前的随笔,主要是改了boundingBox
//******测试代码待补充
以下为我总结的注意事项,及问题解决办法。
针对flash文件
1. 层,元件名,文件夹等,不能用中文,不能有空格
2. 带动画的元件放在库顶层,不能放到文件夹中
3. 带动画的元件,最上一层新建一层用来命名导出的骨骼动画,DragonBones也通过这个来识别动画,否则只能找不到动画了。如图,请忽略我的拼音....
4. 换装用的衣服,按动画的格式建一个元件,同样需要name层。每个部位层只放一个衣服部位,而且层的名字要与相应骨骼部件层的名字对应。这条最终怎么实现我还没想好。
针对DragonBones插件
1. DragonBones官方版本不知道针对cocos2dx更新没,我这里用的是大神改过的专用的。
2. DragonBones导入的时候报版本不对的错误,改一下flash发布设置的版本,往高调试一下。具体都支持哪些版本我可不清楚。
针对导出后动画效果
1. 动画位移不对,跟flash里不一样
我有一个眨眼动画,在cocos2dx里面看,眨眼的时候,眼睛有位移。在xml中找到对应的动画描述
<b name="eye" sc="1" dl="0"> <f x="-7.9" y="23.6" cocos2d_x="-7" cocos2d_y="24" kX="0" kY="0" cX="1" cY="1" pX="0" pY="0" z="2" dI="0" dr="16"/> <f x="-8" y="17.5" cocos2d_x="-11" cocos2d_y="13" kX="0" kY="0" cX="1" cY="1" pX="-0.1" pY="-6.1" z="2" dI="1" dr="6"/> <f x="-7.9" y="23.6" cocos2d_x="-7" cocos2d_y="24" kX="0" kY="0" cX="1" cY="1" pX="0" pY="0" z="2" dI="0" dr="28"/> </b>
我试了一下把上面描了的代码改为和其他行一样,就好了。改这里不是我想要的,我想美术给我的文件我导好直接用多好啊。
去找了找原因,发现动画中眼睛换帧的时候x,y的坐标不一样。这就应该是问题所在吧。找到,将后帧改成和前帧一样,想要的视觉效果就在后帧元件中改相对位置吧~~
就是下图的x,y