动作

来源:互联网 发布:淘宝重复开店2017处罚 编辑:程序博客网 时间:2024/06/10 04:46
      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方法和节点进行绑定,方便后面修改其属性。























0 0
原创粉丝点击