关于动作部分,总的来说使用起来比较简单,创建一个动作,然后让可渲染节点如精灵去执行这个动作即可。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. lintcode :Longest Palindromic Substring 最长回文子串

    题目 最长回文子串 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串. 样例 给出字符串 "abcdzdcab",它的最长回文 ...

  2. 国内为什么没有好的 Stack Overflow 的模仿者?

    国内为什么没有好的 Stack Overflow 的模仿者? 个人觉得, 高端的程序员会直接上stackoverflow提问, 所以国内中文的stackoverflow必然面对低端程序员. 鉴于中国程 ...

  3. java--依赖、关联、聚合和组合之间区别的理解

    在学习面向对象设计对象关系时,依赖.关联.聚合和组合这四种关系之间区别比较容易混淆.特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境.特定情景等. 依赖(Dependency)关系是类与 ...

  4. Xamarin.Android 入门之:Listview和adapter

    一.引言 不管开发什么软件,列表的使用是必不可少的,而本章我们将学习如何使用Xamarin去实现它,以及如何使用自定义适配器.关于xamarin中listview的基础和适配器可以查看官网https: ...

  5. WCF入门(五)---创建WCF服务

    使用Microsoft Visual Studio2012创建WCF服务,理解如下所有必要的编码,更好地创建WCF服务的概念,这里做一个简单的任务. 启动Visual Studio 2012. 单击新 ...

  6. ASP.NET获取路径的方法

    原文:[转载]ASP.NET获取路径的方法 HttpContext.Current.Request.PhysicalPath;    // 获得当前页面的完整物理路径.比如 F:\XFU.NSQS\p ...

  7. 87. Scramble String

    题目: Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty subs ...

  8. CMake with Win&MinGW

    今天一个下午都在做一件简直耻辱play的事情,论文没看,程序没写,玩了一个下午的编译器...心塞(逃... 言归正传,今天要讲在windows下,使用Cmake和MInGW. 1.g++ MinGW的 ...

  9. POJ 水题若干

    POJ 3176 Cow Bowling 链接: http://poj.org/problem?id=3176 这道题可以算是dp入门吧.可以用一个二维数组从下向上来搜索从而得到最大值. 优化之后可以 ...

  10. javascript算法汇总(持续更新中)

    1. 线性查找 <!doctype html> <html lang="en"> <head> <meta charset="U ...