动作

CCAction是动作基类,它创建的对象代表一个动作,作用于CCNode。
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);
动作原理:
CCScheduler在每一帧更新时,都会触发CCActionManage注册的update方法,CCActionManage遍历CCAction并调用step方法,step方法调用update方法,update方法修改节点的属性
节点执行runActin方法,将动作添加到动作管理器中,动作通过startTarget方法和节点进行绑定,方便后面修改属性

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...