加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

动作

发布时间:2020-12-14 17:02:30 所属栏目:百科 来源:网络整理
导读:CCAction是动作基类,它创建的对象代表一个动作,作用于CCNode。 CCAction实质就是一个接口,它的大多数实现累都派生自CCFiniteTimeAction,这个类定义了有限时间内可以完成的动作。CCFiniteTimeAction派生两个主要类 瞬时动作CCActionInstant 和 持续性动作
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方法和节点进行绑定,方便后面修改其属性。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读