关于动作部分,总的来说使用起来比较简单,创建一个动作,然后让可渲染节点如精灵去执行这个动作即可。cocos2dx提供了很多类型的动作,使用起来也很方便。本节重点介绍动作CCAction的子类之一时间动作:CCFiniteTimeAction:

时间动作又分:瞬时动作(CCActionInstant)和持续动作(CCActionInterval)

瞬时动作:指动作立马执行,不需要持续时间,如位置的瞬移。

持续动作:需要给动作指定持续时间,如从A移动到B,设定3秒移动时长。

      瞬时动作

    CCSprite* pSprite = CCSprite::create("HelloWorld.png");//创建一个精灵
pSprite->setPosition(ccp(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
this->addChild(pSprite, 0);
//通常用父类CCActionInstant来接收不同的子类对象实现多态
CCActionInstant* it1 = CCFlipX::create(true);//创建x轴翻转动作
CCActionInstant* it2 = CCFlipY::create(true);//创建y轴翻转动作
pSprite->runAction(it2);//执行动作it2 CCActionInstant* it3 = CCPlace::create(ccp(200,200));//放置动作,实现位置瞬移
pSprite->runAction(it3); CCActionInstant* it4 = CCHide::create();//隐藏动作,等同于设置setVisible(false)
CCActionInstant* it5 = CCShow::create();//显示动作,等同于设置setVisible(true)
pSprite->runAction(it4); CCActionInstant* it6 = CCToggleVisibility::create();//可见开关动作,即原来是隐藏的话改为显示,显示改为隐藏
pSprite->runAction(it6); //重要的函数回调动作CCCallFunc,它有三个子类,CCCallFuncN、CCCallFuncND、CCCallFuncO,它们之间只是回调函数的参数不同
CCActionInstant* it7 = CCCallFunc::create(this,callfunc_selector(MyClass::callBack1));//callback1自定义的函数,用来处理动作执行到此处该做的事,无参数
CCActionInstant* it8 = CCCallFuncN::create(this,callfunc_selector(MyClass::callBack2));//callback2带参数(CCNode* pSender),参数是执行此动作CCNode对象
CCActionInstant* it9 = CCCallFuncND::create(this,callfunc_selector(MyClass::callBack3));//callback3带参数(CCNode* pSender,void* data),data是关联数据
CCActionInstant* it10 = CCCallFuncO::create(this,callfunc_selector(MyClass::callBack4));//callback4带参数(CCObject* obj),任何对象都可调用此动作

     持续动作

持续动作时动作系统中最为复杂的动作分类,包含了大量的动作子类。持续动作类中的每一种从类名上看通常都分为两中,“To”类型和“By”类型,to类型就是一次性指定从哪个状态到哪个状态,并指定动作持续时间,如5秒内从(0,0)移动到(200,200);而by类型是指定每一帧状态的该变量,如每一帧移动(-10,10):x轴反方向移动10,y轴正方向移动10。

动作种类着实很多,而且使用起来也较为相似,所以直接给一个链接做参考,里面列出了所有动作的使用,包括特效动作:cocos2dx常见的46中+22中动作详解

cocos2d-x 详解之 CCAction(动作)的更多相关文章

  1. cocos2dx常见的46中+22中动作详解

    cocos2dx常见的46中+22中动作详解 分类: iOS2013-10-16 00:44 1429人阅读 评论(0) 收藏 举报 bool HelloWorld::init(){    ///// ...

  2. JS函数动作分层结构详解及Document.getElementById 释义 js及cs数据类型区别 事件 函数 变量 script标签 var function

    html +css 静态页面 js     动态 交互   原理: js就是修改样式, 比如弹出一个对话框. 弹出的过程就是这个框由disable 变成display:enable. 又或者当鼠标指向 ...

  3. FLASH动作脚本详解

    FLASH动作脚本详解 一.FLASH脚本基础入门讲解 二.按钮AS的编写 三.影片剪辑的AS编写 四.动态文本框 五.影片剪辑的拖拽 六.流程控制与循环语句 七.绘图及颜色的AS的编写 八.声音 A ...

  4. Cocos2d-x 3.X手游开发实例详解

    Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...

  5. iOS开发——UI篇OC篇&SpriteKit详解

    SpriteKit详解 SpriteKit,iOS/Mac游戏制作的新纪元 这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或 ...

  6. Android 网络框架之Retrofit2使用详解及从源码中解析原理

    就目前来说Retrofit2使用的已相当的广泛,那么我们先来了解下两个问题: 1 . 什么是Retrofit? Retrofit是针对于Android/Java的.基于okHttp的.一种轻量级且安全 ...

  7. 「视频直播技术详解」系列之七:直播云 SDK 性能测试模型

    ​关于直播的技术文章不少,成体系的不多.我们将用七篇文章,更系统化地介绍当下大热的视频直播各环节的关键技术,帮助视频直播创业者们更全面.深入地了解视频直播技术,更好地技术选型. 本系列文章大纲如下: ...

  8. JavaScript事件详解-jQuery的事件实现(三)

    正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...

  9. JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】

    正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...

随机推荐

  1. 简单的线程同步问题:两个线程交替执行N次【Synchronized、Lock、ArrayBlockingQueue】

    方法一:传统的线程方法import org.apache.log4j.Logger; /** * 两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象.<br/> * ...

  2. POJ1470 Closest Common Ancestors

    LCA问题,用了离线的tarjan算法.输入输出参考了博客http://www.cnblogs.com/rainydays/archive/2011/06/20/2085503.htmltarjan算 ...

  3. Filter高级开发

    孤傲苍狼 只为成功找方法,不为失败找借口! javaweb学习总结(四十三)——Filter高级开发 在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以 ...

  4. Debug过程中的mock (及display窗口的使用)

    转载:http://m.blog.csdn.net/blog/u012516903/18004965 在debug的时候,有3个地方可以进行mock测试 测试代码如下: 1.使用display窗口 W ...

  5. MyBatis Mapper 文件例子

    转载:http://blog.csdn.net/ppby2002/article/details/20611737 <?xml version="1.0" encoding= ...

  6. NSMutableArray 初始化与添加删除程序

           Person *person1=[[Person alloc]initWithName:@"Kenshin"];        Person *person2=[[P ...

  7. Android ActionBar标题和渐变背景

    需要在AndroidManifest.xml中设置 android:theme="@style/Theme.AppCompat" 如果提示找不到,请按下图设置: 至于如何引入的方法 ...

  8. 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客

    这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...

  9. Python 中的isinstance函数

    解释: Python 中的isinstance函数,isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是cla ...

  10. NDK(17)让ndk支持完整C++,exception,rtti,

    C++ Support The Android platform provides a very minimal C++ runtime support library (/system/lib/li ...