CCAction动作库

CCAction动作库

对于一个游戏来说,动作是非常重要的,好的动作可以使游戏的可玩性大大提高,在Cocos2d引擎中有一个动作类,CCAction是动作类的基类。


CCAction的子类

CCFiniteTimeAction(受时间限制的动作)、CCFollow(不受时间限制的动作)、CCRepeatForever、CCSpeed。


CCFiniteTimeAction的子类

CCInstantAction(瞬时动作)、CCIntervalAction(延时动作)。


CCInstantAction的子类:

CCHide(隐藏):CCHide hide = CCHide.action();

CCShow(显示):CCShow show = CCShow.action();


CCIntervalAction的子类

位置变动:移动move跳跃jump贝塞尔曲线运动bezier(抛物线)、渐快EaseIn、渐慢EaseOut、先渐快后渐慢、特效,先缓冲再加速、正弦曲线速度变化。

定点变动:缩放scale旋转rotate颜色渐变动作tint、闪烁blink、播放序列帧

Cocos2d提供的基本延时类动作都提供了To和By的方法,By方法有reverse()方法,而To方法没有。常用的有:

CCMoveBy/CCMoveTo、CCScaleBy/CCScaleTo、CCRotateBy/CCRotateTo、CCJumpBy/CCJumpTo、CCBezierBy/CCBezierTo、CCFadeBy/CCFadeIn/CCFadeOut。


MoveTo(移动到):CCMoveTo moveTo = CCMoveTo.action(t, pos);t是移动所用的时间,单位s,pos是移动的目标坐标。

精灵执行动作:sprite.runAction(CCAction action);

MoveBy(移动多少):CCMoveBy moveBy = CCMoveBy.action(t,pos);

MoveBy有reverse()方法,即:moveBy.reverse();moveBy的反向移动。

CCSequence:将动作串联起来。CCSequence sequence = CCSequence.actions(action1, actions);

JumpTo:CCJumpTo jumpTo = CCJumpTo.action(time, pos, height, jumps);time跳跃所用的时间,pos目标坐标,height跳跃过程中的最高点,jumps几次跳到目标点。

BezierTo:CCBezierTo bezierTo = CCBezierTo.action(t, c);t时间,c抛物线的参数配置信息。c的获得:

CCBezierConfig c = new CCBezierConfig();

c.controlPoint_1:起始点、c.controlPoint_2:抛物线的最高点、c.endPosition:抛物线的终点。

CCEaseIn:CCEaseIn easeIn = CCEaseIn.action(action, rate);action要加速的动作,rate加速度。

CCDelayTime(延迟):CCDelayTime delayTime = CCDelayTime.action(t);t延迟时间。在动作之间加一个间歇时间。


CCScaleTo:CCScaleTo scaleTo = CCScaleTo.action(t, s);t是时间,s是缩放比例。

CCRotateBy:CCRotateBy rotateBy = CCRotateBy.action(t, a);t是时间,a是旋转的角度,单位°。

旋转By和To的区别:to是以最便捷的方式旋转到指定的角度,如旋转300度,用to来实现的话会逆时针旋转60度。另外,旋转是绕着锚点完成的。

CCTintBy:CCTintBy tintBy = CCTintBy.action(t, c);t是时间,c是RGB颜色值的变动(0--255)。参数c的获得:

ccColor3B c = ccColor3B.ccc3(r, g, b);

CCBlink:CCBlink blink = CCBlink.action(t, b);t是执行时间,b是在t时间内闪烁的次数

CCSpawn(并发动作):CCSpawn spawn = CCSpawn.actions(action1, params);多个动作同时执行。


CCRepeatForever:反复执行动画

CCRepeatForever repeatForever = CCRepeatForever.action(action);


附加:

CCLabel:文字展示,是CCSprite的孩子。

CCLabel label = CCLabel.makeLabel(string, fontname, fontsize);string是文字内容,fontname是字体名字,字体放到assets文件夹下,fontsize是文字大小。

label.setColor(ccColor3B.ccc3(r, g, b));

你可能感兴趣的:(CCAction动作库)