CCAction实质就是一个接口,它的大多数实现累都派生自CCFiniteTimeAction,这个类定义了有限时间内可以完成的动作。CCFiniteTimeAction派生两个主要类 瞬时动作CCActionInstant 和 持续性动作CCActionInterval。
瞬时动作瞬间完成,可以和其他动作一块组合成复杂的动作。
1. CCSequence:动作序列,是一种复合动作,可接受多个动作,按顺序执行;
2. CCFlipx,CCFlipY:使精灵反向显示
CCFiniteTimeAction *flipX = CCFlipX::create(true);
3. CCShow,CCHide:分别用于显示和隐藏节点
4. CCCallFunc:包含CCCallFunc(不包含参数)、CCCallFuncND(两个参数,ccnode和自定义的)、CCCallFuncN(一个ccnode参数 ),CCCallFuncO(一个ccobject参数)四个动作,用来执行动作中方法的调用(只能调用某个类中的实例方法,不能调用普通的c函数)。
CCFiniteTimeAction* action = CCCallFuncN::create(this,callfuncN_selector(GameScene::callback));
5. CCBezierTo,CCBezierBy:贝塞尔曲线运动,包含一个起点一个终点,起点和终点都个包含一个控制点,而控制点到端点的连线称为控制线。
6. CCSpawn:并列动作
7. CCSpeed:改变动作速度,但还是匀速
8. CCActionEase:变速动作
CCEaseSineIn* sineIn = CCEaseSineIn::create(action);
动作原理:
原文链接:https://www.f2er.com/cocos2dx/339757.html