动作

前端之家收集整理的这篇文章主要介绍了动作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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方法和节点进行绑定,方便后面修改属性

猜你在找的Cocos2d-x相关文章