上一篇博客介绍了即时动作ActionInstant。与即时动作相对的是持续动作ActionInterval

顾名思义,持续动作就是须要一段时间来持续运行的动作,而且在有限时间内改变运行对象的一些属性。因此持续动作的静态生成函数。往往附带一个时间值。

持续动作ActionInterval类的子类例如以下:

一.简单的持续动作

能够看到,非常多持续动作类名都有后缀To或By

这两种后缀有什么差别呢?To表示动作终于达到的目标值,By表示动作的增量值。如:

auto  _moveTo = MoveTo::create(3.0,Vec2(900,600));//表示花3.0秒,按向量(900,600)移动一段距
auto _moveBy = MoveBy::create(3.0,Vec2(900,600))//表示花3.0秒,移动到坐标(900,600)

另外。除移动外。简单的持续动作还包含缩放、旋转、跳跃等等,举一些经常使用的样例:

//缩放动作
auto _scaleTo = ScaleTo::create(3.0,2)); //旋转动作
auto _rotateTo = RotateTo::create(3.0,60); //跳跃动作
//參数:1.运行时间 2.终点坐标 3.跳跃高度 4.跳跃次数
auto _jumpTo = JumpTo::create(3.0,Vec2(),200,4); //bezier曲线移动动作
//首先创建一个bezier曲线配置
ccBezierConfig ccb;
ccb.controlPoint_1 = Vec2(540,400);//第一个控制点
ccb.controlPoint_2 = Vec2(640,200);//第二个控制点
ccb.endPosition = Vec2(800, 100);//终点
//然后创建bezier动作
auto _bezierTo = BezierTo::create(3.0,ccb);
//运行动作
sprite->runAction(_bezierTo); //淡入淡出动作
//參数:1.时间 2.透明度
//精灵创建默认透明度255
auto _fadeTo = FadeTo::create(3.0,0); //延时动作
//一般用于动作间隔
auto _delayTime = DelayTime::create(3.0); //色彩渐变动作
//參数:1.时间 2.RGB
auto _tintTo = TintTo::create(3.0,255,0,0); //闪耀动作
//參数:1.时间 2.闪耀次数
auto _blink = Blink::create(3.0,10);

二.复合动作

除了以上简单的持续动作,我们在Cocos开发中还经常会用到复合动作,当同一个node有多个动作须要组合运行时经常会使用复合动作。复合动作有4种:

1.Sequence 按序列运行多个动作

2.Spawn 同一时候运行多个动作

3.Repeat反复运行几次

4.RepeatForever永远运行

注意。这4种复合动作里面的动作即能够包括简单的持续动作。也能够包括即时动作。还能够互相包括复合动作

下面是这四个复合动作的使用实例:

//先创建几个简单动作
//能够是即时动作。也能够是持续动作
auto _blink = Blink::create(3.0,10);
auto _place = Place::create(Vec2(100,100));
auto _scaleTo = ScaleTo::create(3.0,2)); //顺序运行一系列动作
//最后參数要为null,告诉方法已经没有动作了
auto _sequence = Sequence::create(_blink, _place,_bezierTo,NULL); //同一时候运行一系列动作
auto _spawn = Spawn::create(_blink, _place, _bezierTo, NULL); //反复运行某一动作几次
//參数:1.动作 2.次数
auto _repeat = Repeat::create(_blink,10); //永远反复运行某一动作
auto _repeatForever = RepeatForever::create(_blink);

这些动作Sequence、Spawn、Repeat和RepeatForever等复合动作通过node调用其runAction()方法就可以运行。

以上。

COCOS学习笔记--持续动作ActionInterval的更多相关文章

  1. COCOS学习笔记--即时动作ActionInstant

    Cocos引擎中的动作类的关系图例如以下: 能够看出,Action是继承自Ref类的,之前我的博客中也有讲过,Ref类是cocos2dx全部类的基类.动作类(Action)是全部动作的基类.它通过cr ...

  2. COCOS学习笔记--变速动作Speed和ActionEase

    变速动作和复合动作类似.也是一种特殊的动作,它能够把不论什么动作依照改变后的速度运行.变速动作与复合动作最大的差别就是复合动作仅仅是单纯的组合一系列动作,而变速的做在组合一系列动作后还要去改变动作的运 ...

  3. 数据分析之Pandas和Numpy学习笔记(持续更新)<1>

    pandas and numpy notebook        最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...

  4. 重温JSP学习笔记--JSP动作标签

    上一篇笔记写的是jsp的三个指令九个内置对象,这篇随笔开始写jsp的动作标签,动作标签是由服务器(Tomcat)来解释执行,与java代码一样,都是在服务器端执行的,jsp动作标签有十几多个,这里只写 ...

  5. COCOS学习笔记--重力感应Acceleration

    Cocos2dx重力感应Acceleration,准确来说叫加速度计,加速度计能够感应设备上X.Y.Z轴方向上线性加速度的变化.事实上叫"重力感应"或"重力加速度计&qu ...

  6. COCOS学习笔记--Cocod2dx内存管理(三)-Coco2d-x内存执行原理

    通过上两篇博客.我们对Cocos引用计数和Ref类.PoolManager类以及AutoreleasePool类已有所了解,那么接下来就通过举栗子来进一步看看Coco2d-x内存执行原理是如何的. / ...

  7. cocos学习笔记:快速上手

    cc.Class({ //奇怪的语法风格,cc.class, extends: cc.Component, //扩展自cc.Component properties: { //类的属性设置 jumpH ...

  8. [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)

    持续更新...) 第8章 1.在过程性循环中提交更新容易产生ora-01555:snapshot too old错误.P257 (这种情况我觉得应该是在高并发的情况下才会产生) 假设的一个场景是系统一 ...

  9. COCOS学习笔记--关于使用cocostudio打安卓包

    我在之前的博客里也写到过,如今cocos引擎提供了一键打包.很方便. 今天正好做个測试,想用引擎的一键打包弄个apk的安卓包.以下就简介一下详细过程和自己的一些理解: 先说一下项目背景,因为我的电脑是 ...

随机推荐

  1. Linux下java/bin目录下的命令集合

    Linux下JAVA命令(1.7.0_79) 命令 详解 参数列表 示例 重要程度 资料 appletviewer Java applet 浏览器.appletviewer 命令可在脱离万维网浏览器环 ...

  2. Yeslab 华为安全HCIE七门之-防火墙基础(12篇)

    Yeslab 华为安全HCIE七门之-防火墙基础(12篇) Yeslab 全套华为安全HCIE七门之第二门防火墙基础(12篇),第一门课论坛很早就有了,可自行下载,后面的陆续分享给大家. 华为安全HC ...

  3. 菜鸟之路——Java并发(二)ThreadLocal

      一.什么是ThreadLocal   ThreadLocal,非常多地方叫做线程本地变量,也有些地方叫做线程本地存储.事实上意思几乎相同.非常多博客都这样说:ThreadLocal为解决多线程程序 ...

  4. 用SSL保Samba安全

    用SSL保Samba安全          在企业中用Samba做为文件服务器是非常容易的事了,那如何保证存储数据的安全,如何保证数据传输的安全呢?我以前介绍过通过Samba安全级别和加装防病毒软件在 ...

  5. javafx KeyFrame

    import javafx.animation.Animation; import javafx.animation.KeyFrame; import javafx.animation.Timelin ...

  6. nodejs学习(二)--express热更新nodemon,自启动项目

    一.说一下 每次修改文件,我们都需要重启服务器npm start,很麻烦,所以使用引入nodemon插件,解决这个问题,实现保存文件,即自启动刷新项目 二.直接开码 npm install nodem ...

  7. JS原生方法被覆盖后的恢复办法

    alert 被覆盖 今天装修博客园,调试了下JS代码发现 alert() 方法被官方覆盖了,查看源码得知 alert 的功能被替换成了 console.log. 恢复 var _frame = doc ...

  8. 【习题 8-7 UVA - 11925】Generating Permutations

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 让你把排列1..n变换成对应的输入序列. 每次可以交换前两个数字,或者把第一个数字放到末尾去. 可以逆向考虑. 即把无序的序列变换成 ...

  9. Highcharts图表的注解功能

    Highcharts图表的注解功能 在图表中,往往须要对图表总体或者部分元素进行对应注解.帮助浏览者阅读图表.尽管标签组labels能够实现类似的功能.可是其功能相对简单.要实现复杂的注解功能,用户能 ...

  10. (二十二)unity4.6学习Ugui中文文档-------交互-Eventsystem &amp; Binding

    大家好,我是孙广东.   转载请注明出处:http://write.blog.csdn.net/postedit/38922399 更全的内容请看我的游戏蛮牛地址:http://www.unityma ...