最近参加了一个卡牌游戏项目的前期准备工作,工作内容是做一个卡牌游戏的战斗场景demo。其中有不少动作特效动画,比如攻击的时候卡牌需要扭动、被攻击时需要斜后方抖动平移等等。cocos2d-x引擎实现这些动画不是问题,无非是Sprite执行MoveBy、RotateTo、EaseIn、EaseOut等动作极其组合,难点在于动作特效的编辑。作为一个程序猿,我是有自知之明的,动作特效编辑不是我擅长的,这种事情最好交给专业的美术去做。
问题在于,美术用什么工具去编辑这些动画?程序如何去读取?
首先想到的是CocoStudio,但最终放弃了,因为这不是CocoStudio擅长的领域,最直接的,CocoStudio无法实现颜色透明度的渐变。
最理想的工具非Flash莫属,说道做动画,首先想到Flash。但是Flash做出来的动画怎么应用到程序呢?总不能将动画分解,然后一段段用程序翻译吧?
偶然间遇到这篇文章 http://baike.baidu.com/link?url=uZwJfQlmQzF6R88DmJdK9gv2q-L6jMwiIgkIz9YdUNukYnkBt7mVuR64m2LDDiWmLbr_Iq3UYLB5TLG_fsCkp_
突然眼前一亮,救星啊,原来FlashCS5以后的fla文件其实是个ZIP包,所有的帧数据都保持在zip包里面的DOMDocument.xml文件里面。而且,保持Flash的时候,你可以选择*.xfl格式,这样其实就是一个文件夹,DOMDocument.xml就躺在文件夹里面等你。
好啦,基本思路就有了,想办法解析DOMDocument.xml文件,将其翻译为cocos2d-x能读懂的。
待续.....
使用FlashCS6制作cocos2d-x动作脚本的思路整理
原文:http://blog.csdn.net/ctbinzi/article/details/19649213