我正在使用 cocos2d-x(2.1rc0-x-2.1.3 版本)制作 ios 游戏,现在卡在关键帧动画问题上:
这是我的问题的详细信息:目前我们只需要游戏中的关键帧动画(简单,无骨骼),但在 cocos2d-x 中,动画有点过于简单:制作动画时,我必须加载几个单独的图像,以手动编码动画过程,如动画示例代码:
CCAnimation *animation = CCAnimation::create();
for (int i = 1; i < 15; i++)
{
char szImageFileName[128] = {0};
sprintf(szImageFileName, "Images/grossini_dance_%02d.png", i);
animation->addSpriteFrameWithFileName(szImageFileName);
}
CCAnimate *action = CCAnimate::create(animation);
sprite->runAction(action);
实在是太烂了……然后我深入搜索,发现cocosBuilder可以做这个工作,并且有两个kickstarer项目可以支持我的要求:
1 Spriter:这个工具可以轻松制作关键帧动画(有没有骨骼,用起来真的很简单!!),可以将动画数据导出为自制的(.scml)XML格式,但它有一个很大的弱点!!是否没有官方的 cocos2d-x 运行时支持,一些开发人员已经编写了他们的代码,但都是错误的并且缺乏文档。
2 “Cocos-builder”:可惜没有发现cocos-builder有这种功能(主要是我目前没有Mac,还在windows上工作),貌似可以编辑关键帧精灵并导出为.ccb文件,我看到 cocos2d-x 有代码支持(比如 CCBAnimationManager 等。我没有详细阅读代码..)
3 “Spine”:它是一个很棒的工具,和 Spriter 很像,它具有强大的功能,可以将动画数据导出到 jason 文件中,最重要的是!!:它完全支持 cocos2d-x 运行时。但是这个工具有点难获得动手(我必须阅读它的文档才能知道如何添加关键帧,现在仍在尝试弄清楚如何创建“非骨骼类型”关键帧动画)
有没有人可以给我们一些指导来选择数据驱动的非骨骼关键帧动画的最佳方式?
任何帮助都会得到帮助。
更新:在 Spine 论坛中询问后,我找到了解决方案(Spine 确实以隐藏的方式支持)。所以现在 Spine 是我们的选择。
最好的问候, Frank Cheng