COCOS学习笔记--持续动作ActionInterval
上一篇博客介绍了即时动作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的更多相关文章
- COCOS学习笔记--即时动作ActionInstant
Cocos引擎中的动作类的关系图例如以下: 能够看出,Action是继承自Ref类的,之前我的博客中也有讲过,Ref类是cocos2dx全部类的基类.动作类(Action)是全部动作的基类.它通过cr ...
- COCOS学习笔记--变速动作Speed和ActionEase
变速动作和复合动作类似.也是一种特殊的动作,它能够把不论什么动作依照改变后的速度运行.变速动作与复合动作最大的差别就是复合动作仅仅是单纯的组合一系列动作,而变速的做在组合一系列动作后还要去改变动作的运 ...
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- 重温JSP学习笔记--JSP动作标签
上一篇笔记写的是jsp的三个指令九个内置对象,这篇随笔开始写jsp的动作标签,动作标签是由服务器(Tomcat)来解释执行,与java代码一样,都是在服务器端执行的,jsp动作标签有十几多个,这里只写 ...
- COCOS学习笔记--重力感应Acceleration
Cocos2dx重力感应Acceleration,准确来说叫加速度计,加速度计能够感应设备上X.Y.Z轴方向上线性加速度的变化.事实上叫"重力感应"或"重力加速度计&qu ...
- COCOS学习笔记--Cocod2dx内存管理(三)-Coco2d-x内存执行原理
通过上两篇博客.我们对Cocos引用计数和Ref类.PoolManager类以及AutoreleasePool类已有所了解,那么接下来就通过举栗子来进一步看看Coco2d-x内存执行原理是如何的. / ...
- cocos学习笔记:快速上手
cc.Class({ //奇怪的语法风格,cc.class, extends: cc.Component, //扩展自cc.Component properties: { //类的属性设置 jumpH ...
- [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)
持续更新...) 第8章 1.在过程性循环中提交更新容易产生ora-01555:snapshot too old错误.P257 (这种情况我觉得应该是在高并发的情况下才会产生) 假设的一个场景是系统一 ...
- COCOS学习笔记--关于使用cocostudio打安卓包
我在之前的博客里也写到过,如今cocos引擎提供了一键打包.很方便. 今天正好做个測试,想用引擎的一键打包弄个apk的安卓包.以下就简介一下详细过程和自己的一些理解: 先说一下项目背景,因为我的电脑是 ...
随机推荐
- libc.so.6: version GLIBC_2.14 not found
https://blog.csdn.net/heylun/article/details/78833050
- 51nod 最大子段和问题
给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大? 用f[i]表示以i为结尾的最大字段和,也就是说i一定要取, 那么f[i] = max(a[ ...
- MFC- OnIdle空闲处理
CWinApp::OnIdlevirtual BOOL OnIdle( LONG lCount );返回值: 如果要接收更多的空闲处理时间,则返回非零值:如果不需要更多的空闲时间则返回0.参数: lC ...
- 【Henu ACM Round #12 E】Thief in a Shop
[链接] 我是链接,点我呀:) [题意] n个物品,每个物品都有无限个. 第i个物品的价格是一样都,都是ai 让你从中选出恰好k个物品 问你选出的物品的总价值 有多少种不同的可能. [题解] 可以用f ...
- P2186 小Z的栈函数
P2186 小Z的栈函数 题目描述 小Z最近发现了一个神奇的机器,这个机器的所有操作都是通过维护一个栈来完成的,它支持如下11个操作: NUM X:栈顶放入X. POP:抛弃栈顶元素. INV:将栈顶 ...
- Logback自定义日志输出内容
场景 一般情况下,日志打印的内容都是根据配置文件中配置的pattern格式指定好的.在我们调用logger.info(), logger.debug()等日志打印方法时,打印的内容格式与配置文件中的p ...
- Python命令行參数大全
-b : 当转换数组为字符串时提出警告.比方str(bytes_instance), str(bytearray_instance). -B : 当导入.py[co]文 ...
- vmware虚拟机Windows 2003上网问题
近期须要在Windows 2003 上面做点操作,于是安装虚拟机玩了一下,发现并不能上网,最后的解决的方法是: 卸载IE增强的安全配置 控制面板→加入或删除程序→加入/删除Windows组件" ...
- 微信小程序从零开始开发步骤(五)轮播图
上一章完成页面自定义分享,这一章来说说轮播图,最常见的一个轮播图,中间带小圆点,自动轮播. Swiper是滑动特效插件,面向手机.平板电脑等移动终端.能实现触屏焦点图.触屏Tab切换.触屏多图切换等常 ...
- 车牌识别--S5PV210測试第二次优化
优化: 1.RGB转HSV 浮点运算改成定点运算: 2.匹配模板由图片改成C语言数组: 3.优化測试BMP车牌图片读取(两层for循环改为一层for循环). 总体相比优化之前时间降低110ms左右. ...