您的位置:首页 > 移动开发 > Cocos引擎

【Cocos2d-X开发学习笔记】第12期:动作类CCAction的详细讲解

2013-08-05 21:37 786 查看
一般对于游戏中的精灵而言,它们不仅仅是存在于场景中,而且是动态展现的,例如,精灵移动的动态效果、动

画效果、跳动效果、闪烁和旋转动态效果等。每一种效果都可以看成是精灵的一个动作。





一、动作类(CCAction



和之前介绍的内容不同,Cocos2D-X的动作类CCAction并不是一个在屏幕中显示的对象,动作必须要依托于

CCNode类及它的子类的实例才能发挥作用。CCAction类的继承关系如下图所示。





CCAction类是所有动作类的基类,这也是我们后面将要学习到的所有动作类都是它的子类。而且Cocos2D-X提供

的动作,不仅精灵CCSprite可以使用,只要是CCNode对象都是可以进行动作操作的。





二、动作常用操作



1、对于一个动作的常用操作



<1> 执行一个动作:runAction(CCAction * action)

参数:要执行的动作对象。



<2> 暂停一个动作:CCDirector::sharedDirector()->getActionManager()->pauseTarget(CCObject * pTarget)

参数:暂停目标对象的动作。



<3> 继续一个动作:CCDirector::sharedDirector()->getActionManager()->resumeTarget(CCObject * pTarget)

参数:继续目标对象的动作。



<4> 停止一个动作:

① stopAction(CCAction * action)

参数:停止的目标动作对象。



② stopActionByTag(int tag)

参数:停止的目标动作对象。



<5> 删除一个动作:


CCDirector::sharedDirector()->getActionManager()->removeAction(CCAction* action)

参数:要删除的目标动作对象。




CCDirector::sharedDirector()->getActionManager()->removeActionByTag(unsigned int tag,CCObject * pTarget)

参数1:要删除的动作的tag值。

参数2:要删除的动作所在的目标对象。



2、对于多个动作的常用操作



<1> 暂停所有动作:

① pauseSchedulerAndActions()

作用:此函数不仅对所用动作进行暂停,连其更新函数也全部进行暂停。



② CCSet * CCDirector::sharedDirector()->getActionManager()->pauseAllRunningActions()

作用:此函数暂停所有动作,且将暂停的动作对象记录存放在CCSet集合中。



<2> 继续所有动作:

① resumeSchedulerAndActions()




CCDirector::sharedDirector()->getActionManager()->resumeTargets(CCSet * targetsToResume)

作用:利用记录的已暂停动作的CCSet集合,将其动作继续播放。



<3> 停止所有动作:stopAllActions()



<4> 删除所有动作:CCDirector::sharedDirector()->getActionManager()->removeAllRunningActions()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐