Cocos2d-x学习笔记(二)浅析动作类CCAction(1)

时间:2021-08-24 23:33:52

Cocos2d-x的动作类CCAction并不是一个在屏幕中显示的对象,动作必须要依托于CCNode类及其子类的实例才能发挥作用。CCAction继承于对象类CCObject,有三个子类:有限时间动作、跟随、移动速度,其中有限时间动作子类CCActionInterVal会形成动画过程。

下面是一些CCActionInterVal比较实用的子类:

在了解这些子类之前先介绍一些CC***ToCC***By之间的区别:CC***To是一个绝对量(固定不变),而CC***By是一个相对量(动态改变),具体的类有具体的含义。(运行实例可参照TestCpp里面详细例子)

(1) 移动动作类CCMoveToCCMoveBy

 Create()函数原型CCMoveTo* create(float,CCPoint&),第一个参数是时间,第二个参数是位置对象。精灵类实例在调用runAction()函数执行动作时,其传入的参数类型为CCSequenceCCSequence动作序列是由多个动作构成,其create()函数是以动作序列为参数,以NULL为结尾,主要作用是使传入的动作顺序执行。、

(2)缩放动作类CCScaleToCCScaleBy

 Create()函数原型CCScaleTo* create(flaot,float,float),传入2个参数时:第一个参数表示时间间隔,第二个参数表示缩放比例;传入三个参数时:第一个参数表示时间间隔,第二个参数表示X轴缩放比例,第三个参数表示Y轴缩放比例。

(3)扭曲动作类CCSkewToCCSkewBy

 Create()函数原型CCSkewTo* create(),第一个参数是时间间隔,第二个参数是X轴扭转参数,第三个参数是Y轴扭转参数。

(4)旋转动作类CCRotateToCCRotateBy

Create()函数原型CCRotateTo* create(flaot,floart),第一个参数表示时间间隔,第二个参数表示旋转角度,这里的角度采用角度制表示。

(5)跳跃动作类CCJumpToCCJumpBy

 Create()函数原型CCJumpTo* create(flaot,CCPoint&,flaot,int),第一个参数表示时间间隔,第二个参数表示目标位置的绝对坐标(CCRotateBy表示相对坐标),第三个参数表示跳跃高度,第四个参数表示跳跃次数。

(6)贝塞尔曲线动作类CCBezierToCCBezierBy

 Create()函数原型CCBezierTo* createflaot,ccBezierConfig&),第一个参数表示时间间隔,第二个参数是贝塞尔曲线的配置系数。其中ccBezierCofig的有三个参数需要配置,前两个是控制点,最后一个是终点。

(7)淡入淡出动作类CCFadeInCCFadeOut

 Create函数原型CCfadeIn* createfloat),参数表示不透明度。这里需要说明的是,淡入首先要将不透明度设为0.

(8)闪烁动作类CCBlink

Create()函数原型CCBlink* createfloatunsigned int,第一个参数表示时间间隔,第二个参数表示闪烁次数。

(9)色值渐变动作类CCTintToCCTintBy

 Create()函数原型CCTintTo* create(floatGlubyte,Glubyte,Glubyte),第一个参数表示时间间隔,后面三个参数分别表示颜色的RGB值。