如无特殊说明,所有操作均在osx系统中进行

GAF是一个动画库,主要是可以将swf格式的动画导出成一个通用格式,给cocos2d和unity3d使用,个人觉得主要省去了跟美术沟通的时间,由于我们美术只会弄ps和flash,之前对于动画只能是对着swf讲解每个动作,然后程序用action拼起来,实在是吃力不讨好.

好了,废话少说.直接记录一下步骤.

GAF提供了比较完善的支持库,可以直接在github上下载到.地址是:https://github.com/CatalystApps/Cocos2dxGAFPlayer.git

下载之后,如果是c++需要集成,则非常简单,将工程引入到cocos2dx的c++工程中,处理一下依赖上的问题,基本就可以直接对着demo撸了,主要在于使用lua方面有一些需要注意的点

最开始使用lua bindings时我也是直接去跑gaf里面提供的genbindings.py脚本,发现路径各种不正确,读取不到cocos2d.h之类的,后来还是直接把里面的库单独提出来,放在了Quick-3.3/extensions下面(记得在extensions下面的CMakeLists.txt中参照格式把新加的文件名添加进去),同时在Quick-3.3/tools/tolua/ 下面,加入gaf.ini,同时将其加入到genbindings.py中.

之后直接跑genbindings.py还是会报错的,因为gaf有个单独的命名空间,在Quick-3.3/tools/bindings-generator/targets/lua/ 这个目录下,有个文件名为conversions.yaml的脚本文件,在其中的ns_map下,加上一行"gaf::": “gaf.“注意空格之类的格式要严格按照上面来,其实这个就是GAF库里面conversions.yaml.diff脚本做的事情.

添加完命名空间之后,运行genbindings.py应该没啥问题了,.然后就是打开quick,将gaf的库拖入工程的extensions路径下,在Build Setting里面添加对应的path,之后运行quick工程,基本也就没啥问题了.

走完上面这些流程,基本就已经集成完gaf了,不过之后有个令人无力吐槽的事情,就是现在直接用这个新编译好的quick去新建工程,会发现里面新添加的文件全是红的(只有引用,没有文件),在Quick-3.3/quick/templates/cocos2dx_files.json 这个json文件里有所有需要拷贝过去的文件名,player是通过运行一个php脚本来将文件拷贝到新目录去创建工程的,由于是脚本苦手,翻遍文件夹也没找到这个json文件是通过什么生成的,只好去手动将新加的文件全部在里面写了一遍,实在是蛋疼.改完json之后,再用player新建工程,基本就没啥问题了,Over~

    惯例,在整理完代码之后,会将这个quick版本更新到github