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,也可以认为是一个动作,它什么也不做,只是消耗时间

时间: 2024-10-30 10:14:17

cocos2dx中的动作的相关文章

Cocos2d-X中的动作展示《二》

由于Cocos2d-X中的动作较多,我将所有的动作制作成了一个滚动视图,每个滚动视图上都有动作名,单击滚动视图就可以展示相应的动作 程序效果图: 使用滚动视图实现动作切换 动作展示 首先创建一个ActionMore类 ActionMore.h中的代码 #ifndef _ActionMore_H_ #define _ActionMore_H_ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; USING_

Cocos2d-X中的动作特效

Cocos2d-X中提供了非常丰富的动作特效 例如:网格动画 扭曲特效 3D瓷砖波动特效 程序代码: #include "ActionEffect.h" #include "HelloWorldScene.h" static const char* _actionName[] = { "CCFadeOutBLTiles", "CCFadeOutDownTiles", "CCFadeOutTRTiles",

cocos2dx中的动作、特效、和动画

Action类继承自CCObject,它有移动速度类,跟随类,以及有限时间动作,其中最后一个分为瞬时动作,和延时动作. 瞬时动作 CCCallFunc 回调 CCFilpX X轴转 CCFilpY Y轴转 CCHide 隐藏 CCPlate 设置位置 CCShow 显示 延时动作 CCBezierBy/To 延贝塞儿曲线运动 CCBlink 闪烁 CCDelayTime 延时 CCMoveTo/By 移动 CCRotateTo/By 旋转 CCFadeIn 淡入 CCFadeOut 淡出 CCJ

Cocos2d-x手机游戏开发中-组合动作

动作往往不是单一,而是复杂的组合.我们可以按照一定的次序将上述基本动作组合起来,形成连贯的一套组合动作.组合动作包括以下几类:顺序.并列.有限次数重复.无限次数重复.反动作和动画.动画我们会在下一节介绍,本节我们重点顺序.并列.有限次数重复.无限次数重复和反动 下面我们通过一个实例介绍一下组合动作的使用,这个实例如下图所示,下图是一个操作菜单场景,选择菜单可以进入到下图动作场景,在下图动作场景中点击Go按钮可以执行我们选择的动作效果,点击Back按钮可以返回到菜单场景. 下面我们再看看具体的程序

Cocos2d-x Lua中网格动作

Cocos2d-x Lua中网格动作 GridAction它有两个主要的子类Grid3DAction和TiledGrid3DAction,TiledGrid3DAction系列的子类中会有瓦片效果,如下图所示是Waves3D特效(Grid3DAction子类),如后图所示是WavesTiles3D特效(TiledGrid3DAction子类),比较这两个效果我们会看到瓦片效果的特别之处是界面被分割成多个方格. Waves3D特效 WavesTiles3D特效 网格动作都是采用3D效果给用户的体验

Cocos2d-X中实现菜单特效

Cocos2d-X中可以讲菜单和动作结合起来使用实现菜单特效 程序实例1:使用菜单和动作的组合实现菜单特效<一> #include "MenuItem.h" CCScene* MenuItem::scene() { CCScene* scene = CCScene::create(); MenuItem* layer = MenuItem::create(); scene->addChild(layer); return scene; } bool MenuItem:

Cocos2d-x中的坐标系

绘图坐标系.它是最常见的坐标系,与OpenGL采用的坐标系相同,以左下角为原点,向右为x轴正方向,向上为y轴正方 向,如图 3-1 所示.在 Cocos2d-x 中,一切绘图相关的操作都使用绘图坐标系,如游戏元素中的 Position 和 AnchorPoint 等属性. 纹理坐标系.纹理坐标系以左上角为原点,向右为x轴正方向,向下为y轴正方向,如图3-2所示.在Cocos2d-x中,只 有从纹理中截取部分矩形时才使用这个坐标系,如 CCSprite 的 TextureRect 属性. 简单地接

cocos2d-x 中的基本概念

在 cocos2d-x 开头配置(Windows 平台)中,介绍了新建工程,这篇就介绍下 cocos2d-x 的一些概念.(前提是需要有C++的面向对象的基本知识和C++11的常用知识) 层,场景,导演,精灵,菜单 打开新建的工程(不管是VS,XCODE, Eclipse对 cocos2d-x 都一样),在 Classes 下找到 AppDelegate.h  AppDelegate.cpp  HelloWorldScene.h  HelloWorldScene.cpp 暂时先不管 AppDel

Cocos2d-x 3.0 动作,动画

//执行一个action动作对象 runAction("action对象"); //暂停一个对象的动作 Director::sharedDirector()->getActionManger()->pauseTarget("对象"); //暂停所有对象的动作 Director::sharedDirector()->getActionManager()->pauseAllRunningActions(); //暂停所有对象的动作及其更新函数 p