何为Tween
Tween,释义为补间动画。
为什么第一篇Cocos学习就写了Tween呢,自Unity开始,Tween(DoTween、iTween等)就是一个非常重要的工具,承担了开发中 移动、旋转、颜色渐变、数值渐变等各种动画的实现工作,所以在第一时间就先看了Tween相关的API。
Cocos Tween呢,作为一个类,其本质是一个Action的Creater和Controler,对于一个Tween,我们可以告诉它要做什么Action或者说Action组合(串行、并行),并由Tween控制Action的启停等。
接下来,对Cocos Tween进行详细的了解:
1、接口介绍
首先,摘抄一下官方文档中的一个表格:
接口 | 功能说明 |
---|---|
to | 添加一个对属性进行 绝对值 计算的间隔动作 |
by | 添加一个对属性进行 相对值 计算的间隔动作 |
set | 添加一个 直接设置目标属性 的瞬时动作 |
delay | 添加一个 延迟时间 的瞬时动作 |
call | 添加一个 调用回调 的瞬时动作 |
target | 添加一个 直接设置缓动目标 的瞬时动作 |
union | 将 union 前面所有的缓动动作整合为一个缓动动作 |
then | 插入一个 Tween 到缓动队列中 |
repeat | 执行 n 次(n 为方法参数) |
repeatForever | 一直重复执行 |
sequence | 添加一个顺序执行的缓动 |
parallel | 添加一个同时进行的缓动 |
start | 启动缓动 |
stop | 停止缓动 |
clone | 克隆缓动 |
show | 启用节点链上的渲染,缓动目标需要为 Node |
hide | 禁用节点链上的渲染,缓动目标需要为 Node |
removeSelf | 将节点移出场景树,缓动目标需要为 Node |
这里只对to和by进行介绍:
2、to和by
2.1 区别
- to:对属性进行绝对值计算,最终的运行结果即是设置的属性值
- by:对属性进行相对值计算,最终的运行结果是设置的属性值加上开始运行时节点的属性值
2.2 设置缓动属性
tween(node)
.to(1, {
scale: 2}) // node.scale === 2
.by(1, {
scale: 2}) // node.scale === 4 (2+2)
.by(1, {
scale: 1}) // node.scale === 5
.to(1, {
scale: 2}) // node.scale === 2
.start()
我们可以对Node的position、scale等属性进行补间。
2.3 设置任意对象的属性
interface ITweenOption {