ActionEase是ActionInterval的子类,能够变速执行动作。把内部动作进行了包装,通过传进update的time,加上不同的计算公式,算出新的time,作为内部动作的time,实现了内部动作变速。

用3种宏定义的方式对每个缓冲动作类进行定义:

EASE_TEMPLATE_IMPL(CLASSNAME, TWEEN_FUNC, REVERSE_CLASSNAME)

3个参数:类名,update调用的函数,反向执行的类名。

定义的方法:create、update、clone、reserve(执行参数中反向类的create方法)。

定义了:指数缓冲、Sine缓冲、跳跃缓冲、回震缓冲……

EASERATE_TEMPLATE_IMPL(CLASSNAME, TWEEN_FUNC)

2个参数:类名,update调用的函数

定义了:EaseIn/Out/InOut。create方法包括参数float rate,赋值给_rate。

EASEELASTIC_TEMPLATE_IMPL(CLASSNAME, TWEEN_FUNC, REVERSE_CLASSNAME)

定义了:EaseElasticIn/Out/InOut。create方法包括参数float period,赋值给_period。

函数TWEEN_FUNC通过缓冲的time计算出新time,作为内部action的update的参数time。

函数图像的横轴是包装类的time,随时间均匀增加,竖轴是传给内部动作update的time。斜率可以看做是内部动作运行的速率,斜率小于1,比正常速度慢,大于1,比正常速度快。

1. 指数缓冲 EaseExponential

EaseExponentialIn先慢后快,对应的tweenfunc方法:

EaseExponentialOut先快后慢,tweenfunc:

EaseExponentialInOut缓冲进度以0.5为界,分两种情况,呈现的效果是先慢后快再慢。

    if(time ==  || time == )
return time; if (time < 0.5f)
return 0.5f * powf(, * (time * - )); return 0.5f * (-powf(, - * (time * - )) + );

2. EaseSine

Out:

In:

InOut:

3. EaseBounce

4. EaseBack

5. EaseQuadraticAction 2次函数

Out:

In:

InOut

6. EaseQuarticAction 4次函数

In/Out:

InOut:

7. EaseQuinticActionIn 5次函数

In/Out:

InOut:

8. EaseCircleAction 圆函数

In/Out:

InOut:

9. EaseCubicAction 3次函数

In/Out:

InOut:

10. Ease

create需要传入参数rate,作为tweenfunc计算时的次方数。

对于In:rate>1时,rate越大, 慢速时间越长越慢,加速越晚越快。0<rate<1时,rate越小,加速越早越快,慢速时间越长越慢。

对于Out:rate>1时,rate越大,加速越早越快,慢速时间越长越慢。0<rate<1时,rate越小,慢速时间越长越慢,加速越晚越快。0

对于InOut:rate>1时越大,越靠近0.5时间进度时加速,加速越快时间越短。1/2

11. EaseElastic

create参数period越接近0,弹性效果越明显。为0消失。

‎Cocos2d-x 学习笔记(13) ActionEase的更多相关文章

  1. Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法

    Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法 这篇笔记将介绍如何使用Ext.Net GridPanel 中使用Sorter. 默认情况下,Ext.Net GridP ...

  2. SQL反模式学习笔记13 使用索引

    目标:优化性能 改善性能最好的技术就是在数据库中合理地使用索引.  索引也是数据结构,它能使数据库将指定列中的某个值快速定位在相应的行. 反模式:无规划的使用索引 1.不使用索引或索引不足 2.使用了 ...

  3. golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换

    golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...

  4. springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定

    springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需 ...

  5. Python3+Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)'''from sel ...

  6. 并发编程学习笔记(13)----ConcurrentLinkedQueue(非阻塞队列)和BlockingQueue(阻塞队列)原理

    · 在并发编程中,我们有时候会需要使用到线程安全的队列,而在Java中如果我们需要实现队列可以有两种方式,一种是阻塞式队列.另一种是非阻塞式的队列,阻塞式队列采用锁来实现,而非阻塞式队列则是采用cas ...

  7. python 学习笔记 13 -- 经常使用的时间模块之time

    Python 没有包括相应日期和时间的内置类型.只是提供了3个相应的模块,能够採用多种表示管理日期和时间值: *    time 模块由底层C库提供与时间相关的函数.它包括一些函数用于获取时钟时间和处 ...

  8. MiZ702学习笔记13——ZYNQ通过AXI-Lite与PL交互

    在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应 ...

  9. 【干货】Html与CSS入门学习笔记1-3

    从23号开始用了4天时间看完了<Head First Html与CSS>这本书,本书讲解方式深入浅出,便于理解,结合习题,便于记忆,是一本不错的入门书.下面是本书的学习笔记: 一.认识HT ...

随机推荐

  1. 第五场周赛(字符串卡常个人Rank赛)——题解

    本次题目因为比较简单,除了个别题目,其余题目我只写一个思路不再贴代码. 先是Div.2的题解 A题奇怪的优化,把递归函数改成2*fun(...)即可,其实看懂程序也不难,就是求a*2b: B题你会st ...

  2. 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  3. JavaEE就业学习路线(给初学者以及自学者一个学习方向)

    大家按这个路线学完后基本可以找工作了 第一节java入门 1-Java 背景介绍 2-Java 入门程序的编写 3-环境配置 4-基本概念介绍 5-类型转换 6-开发工具使用 第二节java基础 1- ...

  4. SpringAop实现公共字段填充

    一.说明 项目中经常会有一些放在缓存中的公共字段需要进行填充,我们知道mybatis-plus很方便地可以实现公共字段填充.在这里我定义了一个字段填充的注解,当我们需要进行数据填充的时候只要在方法上打 ...

  5. 基于LeNet的手写汉字识别(caffe)

    我假设已经成功编译caffe,如果没有,请参考http://caffe.berkeleyvision.org/installation.html 在本教程中,我假设你的caffe安装目录是CAFFE_ ...

  6. [Spark] 02 - Practice Spark

    开发环境 教学视频:Spark的环境搭建,需安装配置环境:Java, Hadoop 环境配置:玩转大数据分析!Spark2.X+Python 精华实战课程(免费)[其实只是环境搭建] 进入pyspar ...

  7. 3D 飞行器航迹规划

    3D-Route-Planning 三维航迹规划 -Matlab 本次代码主要解决数学建模中多约束条件下的航迹规划问题 解决的问题如下:   复杂环境下航迹快速规划是智能飞行器控制的一个重要课题.由于 ...

  8. asp.net 开源工作流-流程属性-流程关键字段

    关键词:工作流快速开发平台  工作流流设计  业务流程管理 Java工作流引擎 asp.net 开源工作流  net开源工作流引擎 开源工作流系统 定义:业务关键字段也叫流程实例的摘要字段,他提取流程 ...

  9. zookeeper特性与节点说明

    一.zookeeper概要.背景及作用 zookeeper产生背景: 项目从单体到分布式转变之后,将会产生多个节点之间协同的问题.如: 每天的定时任务由谁哪个节点来执行? RPC调用时的服务发现? 如 ...

  10. j2ee开发之hibernate框架学习笔记

    hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换 ...