我的Cocos2d-x学习笔记(十六)动作
来源:互联网 发布:好莱坞艳照事件 知乎 编辑:程序博客网 时间:2024/06/10 13:57
一、简介:
继续引用高级开发教程:
CCAction 作为一个基类,其实质是一个接口(即抽象类),由它派生的实现类(如运动和转动等)才是我们实际使用的动作。CCAction 的绝大多数实现类都派生自CCFiniteTimeAction,这个类定义了在有限时间内可以完成的动作。由CCFiniteTimeAction 派生出的两个主要类分别是瞬时动作(CCActionInstant)和持续性动作(CCActionInterval)。
动作作用于CCNode,任何一个动作都需要由CCNode对象执行。
一个CCAction只能使用一次,对于需要反复使用的动作对象,可以通过copy方法复制使用。
CCFiniteTimeAction定义了reverse方法,通过这个方法可以获得一个与原动作相反的动作。
设置属性为常量的动作不存在逆动作,设置属性为相对值的动作存在逆动作。
二、瞬时动作
瞬时动作指立刻完成的动作,是CCFiniteTimeAction 中持续时间为0的特例。
瞬时动作在下一帧会立刻执行并完成,为了方便与其他动作类组合为复杂动作。
1、CCPlace
该动作作用于将节点放置到某个指定位置,其作用与修改节点的Position属性相同。
实例:
CCPlace* place = CCPlace::create(ccp(100, 100));CCSprite* spr = CCSprite::create("p_2_01.png");spr->setPosition(ccp(240,160));spr->runAction(place);addChild(spr);2、CCFlipX和CCFlipY
这两个动作分别用于将精灵沿X和Y轴反向显示,其作用与设置精灵的FlipX和FlipY属性相同。
3、CCShow和CCHide
这两个动作分别用于显示和隐藏节点,其作用与设置节点的Visible属性的作用一样。
4、CCCallFunc
CCCallFunc系列动作包括:CCCallFunc、CCCallFuncN、CCCallFuncND、CCCallFuncO。
用来在动作中进行方法调用。
CCCallFunc:调用的方法不包含参数,callfunc_selector。
CCCallFuncN:包含一个CCNode* 类型的参数,callfuncN_selector。
CCCallFuncND:包含一个CCNode*类型的参数,和一个void*参数(自定义类型),callfuncND_selector。
CCCallFuncO:包含一个CCObject*类型的参数,callfuncO_selector。
二、持续性动作
持续性动作是在持续一段时间里逐渐完成的动作。
每一种持续性动作通常存在两个不同的变种动作,To后缀的动作描述了节点属性的绝对变化,By后缀的动作描述了属性值的相对变化。
持续性动作根据效果可以分为4类:位置变化动作、属性变化动作、视觉特效动作、控制动作。
(一)位置变化动作(3种)
1、CCMoveTo和CCMoveBy:
用于节点做直线运动。设置了动作时间和终点位置后,节点就会在规定时间内,从当前位置直线移动到设置的终点位置。
2、CCJumpTo和CCJumpBy
使节点以一定的轨迹跳跃到指定位置。
3、CCBezierTo和CCBezierBy
使节点进行曲线运动,运动的轨迹由贝塞尔曲线描述。
(二)属性变化动作
特点是通过属性值的逐渐变化实现动画效果。
1、CCScaleTo和CCScaleBy:
产生缩放效果。
2、CCRotateTo和CCRotateBy:
产生旋转效果。
3、CCFadeIn和CCFadeOut:
产生淡入淡出效果。
4、CCFadeTo:
一段时间内透明度的变化效果。
5、CCTintTo和CCTintBy:
设置色调变化。
(三)视觉特效动作
1、CCBlink:
使目标节点闪烁。
2、CCAnimation:
播放帧动画。
(四)控制动作
用于对一些动作进行精细控制。
CCDelayTime:将动作延时一定时间。
CCRepeat:把现有动作重复一定次数。
CCRepeatForever:使一个动作不断重复。
三、复合动作
作为容器,把许多动作组合成一个复杂的动作。
1、CCRepeat和CCRepeatForver:
CCRepeat:把现有动作重复一定次数。
CCRepeatForever:使一个动作不断重复。
2、CCSpawn:使一批动作同时执行。
3、CCSequence:
让动作顺序执行。
3、CCDelayTime:
占用一段时间,使动作延时。
四、变速动作
它可以把任何动作按照改变后的速度执行。
1、CCSpeed:
用于线性地改变某个动作的速度。
2、CCActionEase:
自定义速度变化。
3、CCFollow
跟随。
- 我的Cocos2d-x学习笔记(十六)动作
- Cocos2d-x学习笔记(3) - 动作
- Cocos2d-x动作学习笔记
- cocos2d-x初探学习笔记(3)--动作(CCAction)
- cocos2d-x初探学习笔记(3)--动作(CCAction)
- cocos2d-x初探学习笔记(3)--动作(CCAction)
- Cocos2d-x学习笔记(15)(Action动作)
- cocos2d-x初探学习笔记(3)--动作(CCAction)
- cocos2d-x初探学习笔记(5)--动作管理
- cocos2d-x初探学习笔记(5)--动作管理
- Cocos2d-x学习笔记(十)-------->动作类
- cocos2d-x初探学习笔记(5)--动作管理
- Cocos2d-x学习笔记(七)—— 动作处理
- cocos2d-x学习笔记(7)--动作(Actions)
- cocos2d-x学习笔记-CCAction(动作)
- cocos2d-x学习笔记-CCAction(动作)
- cocos2d-x学习笔记-CCAction(动作)
- cocos2d-x学习笔记(四)动作(Action)
- Crazyflie2.0笔记四: eclipse编译、开发环境搭建
- 学习了解Linux下的Shell
- LINUX下如何安装SH文件BIN文件
- 以细分使用场景为突破点 探究墨迹天气的体验创新
- MySQL中SELECT+UPDATE处理并发更新问题解决方案分享
- 我的Cocos2d-x学习笔记(十六)动作
- 【更新】MyEclipse 2015 CI 13发布
- Python的dict.fromkeys应用
- Oracle 10G R2的Data Guard物理standby搭建
- Win7下 maven3.1.1的安装步骤+maven配置本地仓库
- ServletContextListener使用详解
- 方式
- 至自己的两个故事
- UML概述