cocos2dx中的动作
CCAction是cocos2dx中专门用来处理动作相关的类,几乎所有的与动作相关的类都是从它派生而来的.而CCAction继承自CCObject
class CCFiniteTimeAction : public CCAction
由CCFiniteTimeAction 派生出
的两个主要类分别是:
瞬时动作 CCActionInstant
持续性动作 CCActionInterval
瞬时动作:
即时间间隔为0的动作,实质上要到下一帧才能执行的动作.
瞬时动作是指能立刻完成的动作,是CCFiniteTimeAction 中动作持续时间为0 的特例。更准确地说,这类动作是在下一帧会立刻执行并完成的动作,如设定位置、设定缩放等。这些动作原本可以通过简单地对CCNode赋值完成,但是把它们包装为动作后,可以方便地与其他动作类组合为复杂动作。
主要的瞬时动作又叫即时动作:
Place(布置位置),FlipX/Y(翻转),Show,Hide(显示,隐藏),CCToggleVisible(显示节点的隐藏和显示)
延时动作:
持续性动作是在持续的一段时间里逐渐完成的动作,也就是要跨多个帧循环来完成,如精灵从一个点连续地移动到另一个点,每一帧内移动一点,我们看到的移动是帧循环的累积效应。
特点:
a.持续性动作一般都会包括一个时间间隔的参数:float duration,即多长的时间间隔内执行完毕
b.每一种持续性动作通常都存在两个不同的变种动作,分别具有To 和By 后缀:后缀为To 的动作描述了节点属性值的绝对变化,例如CCMoveTo将对象移动到一个特定的位置;而后缀为By 的动作则描述了属性值相对的变化,如CCMoveBy 将对象移动一段相对位移。
主要的延时动作(又叫持续性动作):
移动:moveto,moveby
跳跃:jumpto,jumpby
Bezier(贝塞尔曲线轨迹移动):BezierTo,BezierBy
上面三个是与位置有关的持续性动作
缩放动作:ScaleTo,ScaleBy
旋转角度动作:RotateTo,RotateBy
扭曲动作:SkewTo,SkewBy
褪色动作:FadeIn,FadeOut,CCFadeTo(与透明度有关)
折线动作:CCCardinalSpliteBy,CCCardinalSpliteTo(主要也是影响运动轨迹)
上面是与属性有关的延时性动作
复合动作:
CCSpawn:通常用于并行执行两个动作,或多个动作,是动作的叠加
CCSequence:通常用于执行一系列动作,是多个动作的串行执行
视觉动作:
CCBlink:闪烁动作
CCAnimation:帧动画
控制动作:
CCRepeat:重复,可以设定某个动作重复的次数
CCReaptForever:无限次重复某个动作,永远
CCDelay:延时n秒后,执行某个动作, class CCDelayTime : public CCActionInterval,也可以认为是一个动作,它什么也不做,只是消耗时间
cocos2dx中的动作的更多相关文章
- Cocos2d-X中的动作特效
Cocos2d-X中提供了很丰富的动作特效 比如:网格动画 扭曲特效 3D瓷砖波动特效 程序代码: #include "ActionEffect.h" #include " ...
- cocos2dx中CC_CALLBACK_1等宏中this指针实际指向
首先看代码,我在Helloworld中添加两个函数. void HelloWorld::addTarget(){ Size visibleSize = Director::getInstance()- ...
- cocos2d-x 中的基本概念
在 cocos2d-x 开头配置(Windows 平台)中,介绍了新建工程,这篇就介绍下 cocos2d-x 的一些概念.(前提是需要有C++的面向对象的基本知识和C++11的常用知识) 层,场景,导 ...
- Cocos2d-X中实现菜单特效
Cocos2d-X中能够讲菜单和动作结合起来使用实现菜单特效 程序实例1:使用菜单和动作的组合实现菜单特效<一> #include "MenuItem.h" CCSce ...
- cocos2d-x中的Tiled地图
cocos2d-x中的瓦片地图是通过tiledMap软件制作的,存档格式是.tmx格式.此软件的使用步骤简单总结如下: (1)制作瓦片地图 1 打开软件,软件界面如下图. 2. 新建地图(文件-> ...
- cocos2dx中Action汇总
本文由qinning199原创, 转载请注明:http://www.cocos2dx.net/?p=119 今天总结一下cocos2dx中的一些Action动作,其中To表示到达某个点,而By表示偏移 ...
- cocos2d-x中的导演、场景、层和精灵
场景(Scenes) 场景在cocos2d-x中是CCScene类实现的,是应用程序流中独立的一部分.一个cocos2dx应用程序可以有许多场景,但是在某一时刻,只有一个场景在运行. 比如,你有一个游 ...
- Cocos2d-X 精灵、动作效果
命名空间宏: USING_NS_CC; 感觉事实上挺鸡肋的. NS_CC_BEGIN. == using namespace cocos2d{ NS_CC_END ; } 推断一个精灵被点击: 1.层 ...
- cocos2dx中快速完成一段可播放动画
版本:cocos2dx 2.2.6 IDE: VS2012 语言:C++98 CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteF ...
随机推荐
- Linux 字符设备驱动模型
一.使用字符设备驱动程序 1. 编译/安装驱动 在Linux系统中,驱动程序通常采用内核模块的程序结构来进行编码.因此,编译/安装一个驱动程序,其实质就是编译/安装一个内核模块 2. 创建设备文件 通 ...
- SharePoint - 添加图片到Survey的某一问题之上
Survey是SharePoint常用功能之一,而曾经被用户多次问到的问题是能否在Survey的某一问题上添加图片,经过查看,SharePoint Survey不提供此方法,只得谷歌之,得一比较懒但又 ...
- freeCodeCamp:Diff Two Arrays
比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素.换言之,返回两个数组的差异. function diff(arr1, arr2) { var newArr = []; ...
- JNA参数传递问题,Java数组
版权声明:本文为博主原创文章,未经博主允许不得转载. 本文主要讲述使用JNA模拟结构体并将结构体数组作为参数传递给对应的方法. C语言结构体定义如下: typedef struct Rect { in ...
- ContentProvider使用
package activity.cyq.contentprovidertenderer; import android.content.ContentProvider; import android ...
- 原生js学习笔记2
知识点: 1:关于this指向问题,如果有函数a(),直接a()那么this指向window,new a()指向函数本身. 2:关于null和undefined.两者如果用“==”则认为两者是相等的, ...
- DataGridView 操作
//dataGridView 删除选中行 int num = dataGridView2.SelectedRows.Count; ) { DataGridViewRow r = dataGridVie ...
- ASP.NET发布WebService
1. 创建一个空的Web应用程序 2. 再添加一个Web服务 3. 在所创建Web服务内,编写一算法 4. 写完可直接运行查看结果 5. 项目->右键,发布此WebService 6. 发布至 ...
- iOS使用keychain存储密码
iOS设备中的Keychain是一个安全的存储容器.通常情况下,可以用NSUserDefaults存储数据信息,但是对于一些私密信息,比如账号.密码等等,就需要使用更为安全的keychain了.苹果自 ...
- 对象-关系Metadata映射模式
MetaData Mapping元数据映射 在MetaData中保存object-relation映射的详细信息. 以表格形式定义映射,并可由通用代码来处理映射. 运行机制 MetaData中的信息如 ...