读书人

Cocos2d-x 3.0 开发(7)在程序中处理

发布时间: 2013-10-23 11:39:13 作者: rapoo

Cocos2d-x 3.0 开发(七)在程序中处理cocoStudio导出动画
1、概述

使用cocoStudio可以方便的制作动画,接下来的工作就是在我们的程序中使用制作的动画。这篇中,我将使用程序将两个动画连接起来。有图有真相:

Cocos2d-x 3.0 开发(7)在程序中处理cocoStudio导出动画

2、制作动画

承接上一篇,我们再制作一个动画。制作动画的方法与之前没有差别,不太熟悉的同学可以看:Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画。在“动作列表”中右击,“添加动画”然后编辑就成。

我们新制作的动画的结束点,要与上一篇中制作动画的开始点重合,这样在连接的时候,画面就不会跳动。


Cocos2d-x 3.0 开发(7)在程序中处理cocoStudio导出动画


制作好后我们将动画导出。

3、制作UI

既然能够方便的制作UI,我就顺手做了一个控制动画播放的UI。制作方法之前也提到过。没有什么差别。使用UI编辑器制作UI,并将其导出。


Cocos2d-x 3.0 开发(7)在程序中处理cocoStudio导出动画


4、关联到项目

运行脚本创建我们的项目,将导出的动画、UI放到Resource文件夹中。

然后重写init方法:


//......else if(tag == UI_BUTTON_CONN){armature->getAnimation()->setMovementEventCallFunc(this,movementEvent_selector(HelloWorld::movementCallback));}else if(tag == UI_BUTTON_DISCONN){armature->getAnimation()->setMovementEventCallFunc(this,nullptr);}//......void HelloWorld::movementCallback(Armature * armature, MovementEventType type, const char * name){if (type == COMPLETE){if (strcmp(name,"fall") == 0){Armature* arm = (Armature*) getChildByTag(AM_MYANIMATION);arm->getAnimation()->play("hit");}}}


编译运行,就可以看到动画连接起来了。

7、总结

通过ArmatureDataManager单例来加载动画,将其关联到程序中。动画事件的监听,对动画的行为进行处理。使用这些方法我们可以灵活的使用cocoStudio创建的动画了。

Demo下载:等待资源审核中..........



本篇博客出自阿修罗道,转载请注明出处:http://blog.csdn.net/fansongy/article/details/12955989



读书人网 >操作系统

热点推荐