`
fireDragonpzy
  • 浏览: 442246 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

cocos2d-x action动作整理集合(二)

阅读更多
第一部分:CCFollow跟随动作
CCFollow动作,可以让一个节点跟随另一个节点做位移。

他有两个静态工厂方法,后者可以设置一个跟随范围,离开范围就不再跟随。
bool    initWithTarget (CCNode *pFollowedNode) 
bool    initWithTarget (CCNode *pFollowedNode, const CCRect &rect) 

CCFollow经常用来设置layer跟随sprite,可以实现类似摄像机跟拍的效果。cocos2d-x中的tests里,有类似的例子,代码如下:
void ActionFollow::onEnter() 
{ 
    ActionsDemo::onEnter(); 
 
    centerSprites(1); 
    CCSize s = CCDirector::sharedDirector()->getWinSize(); 
 
    m_grossini->setPosition(CCPointMake(-200, s.height / 2)); 
    CCActionInterval* move      = CCMoveBy::actionWithDuration(2, CCPointMake(s.width * 3, 0)); 
    CCActionInterval* move_back = move->reverse(); 
    CCFiniteTimeAction* seq       = CCSequence::actions(move, move_back, NULL); 
    CCAction* rep               = CCRepeatForever::actionWithAction((CCActionInterval*)seq); 
 
    m_grossini->runAction(rep); 
 
    this->runAction(CCFollow::actionWithTarget(m_grossini, CCRectMake(0, 0, s.width * 2 - 100, s.height))); 
} 


第二部分:CCDelayTime延时动作
CCDelayTime是一个延时若干秒的动作,最常见的用法就是在一个CCSequence序列动作中,打入若干延时时间,让动作的执行速度慢下来,不至于眼花缭乱,让人反应不过来。
 
cocos2d-x中的tests里,有类似的例子,代码如下:
void ActionDelayTime::onEnter() 
{ 
    ActionsDemo::onEnter(); 
 
    alignSpritesLeft(1); 
 
    CCActionInterval*  move = CCMoveBy::actionWithDuration(1, CCPointMake(150,0)); 
    CCFiniteTimeAction*  action = CCSequence::actions( move, CCDelayTime::actionWithDuration(2), move, NULL); 
 
    m_grossini->runAction(action); 
} 


第三部分:CCProgressFromTo与CCProgressTo 进度动作

进度动作,也是一种从无到有逐渐绘制的动作,和淡入淡出的作用类似。

注意进度动作的执行节点为CCProgressTimer,而非我们常用的CCSprite。我们在使用进度动作时,需要指定绘制类型。
 
cocos2d-x一种提供了6种类型的枚举值:
typedef enum { 
            /// Radial Counter-Clockwise 逆时针 
            kCCProgressTimerTypeRadialCCW, 
            /// Radial ClockWise 顺时针 
            kCCProgressTimerTypeRadialCW, 
            /// Horizontal Left-Right 从左往右 
            kCCProgressTimerTypeHorizontalBarLR, 
            /// Horizontal Right-Left 从右往左 
            kCCProgressTimerTypeHorizontalBarRL, 
            /// Vertical Bottom-top 从下往上 
            kCCProgressTimerTypeVerticalBarBT, 
            /// Vertical Top-Bottom 从上往下 
            kCCProgressTimerTypeVerticalBarTB, 
} CCProgressTimerType; 
 
cocos2d-x中的tests里,有全部的进度动作的例子,其中按时针绘制的例子代码如下:
void SpriteProgressToHorizontal::onEnter() 
{ 
            SpriteDemo::onEnter(); 
             
            CCSize s = CCDirector::sharedDirector()->getWinSize(); 
             
            CCProgressTo *to1 = CCProgressTo::actionWithDuration(2, 100); 
            CCProgressTo *to2 = CCProgressTo::actionWithDuration(2, 100); 
             
            CCProgressTimer *left = CCProgressTimer::progressWithFile(s_pPathSister1); 
            left->setType( kCCProgressTimerTypeHorizontalBarLR );//设置动作类型 
            addChild(left); 
            left->setPosition(CCPointMake(100, s.height/2)); 
            left->runAction( CCRepeatForever::actionWithAction(to1)); 
             
            CCProgressTimer *right = CCProgressTimer::progressWithFile(s_pPathSister2); 
            right->setType( kCCProgressTimerTypeHorizontalBarRL );//设置动作类型 
            addChild(right); 
            right->setPosition(CCPointMake(s.width-100, s.height/2)); 
            right->runAction( CCRepeatForever::actionWithAction(to2)); 
} 

第四部分:CCGridAction 网格动作家族

网格动作,是一种特殊的变换效果,类似于特效,可以实现全屏幕的,翻转,抖动,震荡,水波纹等。CCGridAction是所有网格动作的基类,他有两个派生类
CCTiledGrid3DAction:基于Tiled的网格动作
CCGrid3DAction:普通网格动作


摘自:http://4137613.blog.51cto.com/4127613/767613
分享到:
评论

相关推荐

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d-x 2.x action集合(详细注释分类)

    cocos2d-x 2.x action集合(详细注释分类)

    cocos2d-x-2.1.5

    cocos2d-x-2.1.5

    cocos2d-x事件类

    在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...

    大富翁手机游戏开发实战基于Cocos2d-x3.2引擎

    资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...

    Cocos2d-x高级开发教程

    Cocos2d-x是移动跨平台开发最流行的游戏引擎,而本书是一本很全面的、比较‘接地气’的游戏开发教程。书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关...

    cocos2d-x-3.2旧版引擎下载

    cocos2d-x-3.2下载,不多说。或者可以下载另一个资源 cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5) http://download.csdn.net/download/crazymagicdc/9982656

    cocos2d-x实战项目

    cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    精通COCOS2D-X游戏开发 基础卷_2016.4-P399-13961841.pdf

    精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发

    cocos2d-x-3.0 类图

    这是我重新弄的cocos2d-x-3.0的类图.之前别人兄台弄的,有些不全面,有些地方错误.我这个可以说是最新的了.每个类添加了中文的详细注解,同时也添加了中文的类名称翻译.这样对cocos2d-x-3.0的框架比较好上手. 有兴趣的...

    Cocos2D-X游戏开发技术精解.pdf

    《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。

    cocos2d-x windows vs2010配置

    Cocos2d-x windows vs2010 配置图文详解

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    Cocos2d-x实战 JS卷 Cocos2d-JS开发 PDF 电子书完整版本

    Cocos2d-x游戏编程——C++篇 .iso

    Cocos2d-x游戏编程——C++篇(电子工业出版社,徐飞 著)书本配套的光盘代码,

    cocos2d-x 3.0

    cocos2d-x 3.0 人物行走 . 包里有代码和 图片资源.

    cocos引擎老版本集合(cocos2d-x-2.2.1 - 3.5)

    cocos引擎老版本下载集合(cocos2d-x-2.2.1 - 3.5),分别有cocos2d-x-3.5、cocos2d-x-3.4、cocos2d-x-3.2、cocos2d-x-2.2.6、cocos2d-x-2.2.2和cocos2d-x-2.2.1。

Global site tag (gtag.js) - Google Analytics