CCAction类详解
来源:互联网 发布:mac osx 开机启动 编辑:程序博客网 时间:2024/06/05 01:55
1 在一个游戏中有了人物、白云等精灵,但是游戏中精灵静止不动肯定是不行的,要让它们执行一些动作,使精灵有丰富的动画效果,这样就会使用到CCAction类。CCAction主要用于人物角色等发生动作时使用,如紧身肉搏、远程射击和贴近对话等
2 在cocos2d-x中,CCAction的类结构图如下
3 从上面的类结构图可以看出,动作的基类是CCAction,通过继承它可以实现很多不同的动作,主要分为三大类:CCFiniteTimeAction(有限次动作执行类)、CCSpeed(节点执行速度类)、CCFollow(节点跟随另一个节点移动)
4 在实际中,主要用到的是CCFiniteTimeAction类,所以下面详细介绍这个类。
5 CCFiniteTimeAction分为CCActionInstant(瞬时动作)和CCActionInterval(延迟动作)。其中CCActionInstant动作没有执行过程,动作瞬时完成,而CCActionInterval动作执行需要一定的时间(或者一个过程)
6 在实际中,为了制作出炫丽的动画效果,使用得多的是CCActionInterval延时动作,下面开始介绍延迟动作
7 在上面的类结构图中,CCActionInterval的子类很多,简单介绍其中常用的,也可以通过cocos2d-x中自带的TestCpp例子来学习
(1) CCMoveTo / CCMoveBy 移动两者的主要差别在于CCMoveTo是移动到指定坐标,CCMoveBy是相对坐标。例如CCMoveTo(2.0f, ccp(50, 50))是在2s时间内移动到点x = 50、y = 50处,而CCMoveBy(2.0f, ccp(50, 50))表示2s时间内向x方向移动50个单位,向y方向移动50个单位
(2) CCScaleTo / CCScaleBy 缩放
(3) CCRotateTo / CCRotateBy 旋转
(4) CCSkewTo / CCSkewBy 扭曲
(5) CCJumpTo / CCJumpBy 跳跃
(6) CCBezierTo / CCBezierBy 贝塞尔曲线
(7) CCBink 闪烁
(8) CCFadeIn / CCFadeOut 淡入淡出
(9) CCTintTo / CCTintBy 染色
8 动作的一个简单用法
CCSprite *heroSprite = CCSprite::create(“hero.png”);
CCMoveTo *move = CCMoveTo::create(2.0f, ccp(50, 50));
heroSprite->runAction(move);
- CCAction类详解
- CCAction类详解
- [cocos2d-x] --- CCAction类详解
- [cocos2d-x]CCAction类详解
- [cocos2d-x] --- CCAction类详解
- CCAction详解
- cocos2d-x之CCAction类详解
- CCAction类
- Cocos2D之CCAction详解
- Cocos2D研究院之CCAction详解
- 动作类CCAction
- CCAction
- CCACTION
- CCAction
- CCAction
- Cocos2D研究院之CCAction详解(四)
- Cocos2D研究院之CCAction详解(四)
- cocos2d-x 详解之 CCAction(动作)
- mediawiki使用中遇到的两个问题
- userdefault 存储archivedData ,JSONmodel兼容
- 四款超棒的jQuery数字化签名插件
- Jquery使用笔记
- bzoj2330 [SCOI2011]糖果 差分约束
- CCAction类详解
- C语言的本质(21)——预处理之三:其它预处理特性及总结
- boost的库中bind和function使用实例
- 开始写博客,第一次
- 窗体2刷新窗体1中的datagridview数据的开发实例
- 编程算法 - 迷宫的最短路径 代码(C++)
- 【MFC】非客户区(NC)的左键弹起消息的获取
- 全自动过滤器:全自动自清洗过滤器工作原理
- erp知识基础-会计