缓动接口

Tween 属性和接口说明

接口说明

接口

功能说明

tag

为当前缓动添加一个数值类型(number)的标签

to

添加一个对属性进行 绝对值 计算的间隔动作

by

添加一个对属性进行 相对值 计算的间隔动作

set

添加一个 直接设置目标属性 的瞬时动作

delay

添加一个 延迟时间 的瞬时动作

call

添加一个 调用回调 的瞬时动作

target

添加一个 直接设置缓动目标 的瞬时动作

union

将上下文的缓动动作打包成一个

then

插入一个 Tween 到缓动队列中

repeat

执行几次(此前为重复几次,请及时适配)

repeatForever

一直重复执行

sequence

添加一个顺序执行的缓动

parallel

添加一个同时进行的缓动

start

启动缓动

stop

停止缓动

clone

克隆缓动

show

启用节点链上的渲染,缓动目标需要为 Node

hide

禁用节点链上的渲染,缓动目标需要为 Node

removeSelf

将节点移出场景树,缓动目标需要为 Node

静态接口说明

这些方法为 Tween 的静态方法,调用方式示例:

Tween.stopAll()
Tween.stopAllByTag(0);
Tween.stopAllByTarget(this.node);

接口

功能说明

stopAll

停止所有缓动

该接口会移除底层所有已注册的缓动动画

注意:该方法会影响所有对象

stopAllByTag

停止所有指定标签的缓动

该接口将移除通过 tag 方法指定的所有缓动

可通过指定第二个参数 target?: object 来指定是否仅移除该对象上带有某个标签的缓动

stopAllByTarget

停止所有指定对象的缓动

工具函数说明

接口

功能说明

tween

这是一个工具函数,帮助实例化 Tween 类

注意:该方法并非 Tween 类的成员,开发者也可自行调用 new Tween<T>(target:T) 的方式实例化缓动。

示例

这里以一个的 to 缓动动画作为示例演示缓动的用法:

lettweenDuration : number = 1.0;                                   // 缓动的时长tween(this.node.position).to( tweenDuration, new Vec3(0, 10, 0),    // 这里以node的位置信息坐标缓动的目标 {                                                               // ITweenOption 的接口实现:onUpdate : (target:Vec3, ratio:number)=>{                       // onUpdate 接受当前缓动的进度this.node.position = target;                                // 将缓动系统计算出的结果赋予 node 的位置}
}).start();                                                         // 调用 start 方法,开启缓动

一些限制

为了降低更新 Node Transform 信息的频率,Node 内部维护了一个 dirty 状态,只有在调用了可能会改变 Node Transform 信息的接口,才会将 dirty 置为需要更新的状态。

但目前的接口存在一定的限制,例如:通过 this.node.position 获取到的 position 是一个通用的 Vec3。

当执行 this.node.position.x = 1 这段代码的时候,只执行了 position 的 getter,并没有执行 position 的 setter。由于 dirty 并没有更新,便会导致渲染时使用的节点的 Transform 信息没有更新。

目前,我们也不支持这样的调用,而是鼓励使用 setPosition 或 position 的 setter,如下所示:

let _pos = new Vec3(0, 1, 0);
this.node.position = _pos;      // 这里将通过 position 的 setterthis.node.setPosition(_pos);    // 这里将通过接口 setPosition

cocos tween相关推荐

  1. Cocos Creator游戏开发教程 学习笔记

    学完提问几个问题吧: position的锚点位置数值原点在哪里? 因为position是相对坐标,所以原点是父节点的锚点 .所以Canvas下面的直属节点原点就是世界坐标系的原点Canvas的锚点. ...

  2. cocos create tween

    tween 动画总结: 官方文档   :缓动接口 · Cocos Creator 接口 功能说明 tag 为当前缓动添加一个数值类型(number)的标签 to 添加一个对属性进行 绝对值 计算的间隔 ...

  3. Cocos Creator里cc.tween的stopAllActions() 和 repeatForever的用法

    this.useNowBtn.stopAllActions(); this.useNowBtn.setPosition(46 + t * 120, 360); cc.tween(this.useNow ...

  4. cocos creator尝试使用tween的几种新实现方案

    尝试使用tween的几种新实现方案 旧方式 tween(this.testNode1).then(tween(this.testNode1).to(1, {position: v3(500, 0, 0 ...

  5. cocos creator 3.x使用tween缓动接口和贝塞尔曲线实现简易抛物线

    抛物线还是比较常用的,人物跳跃,投掷物等等,2dx和3.x接口很多都不兼容了,本文使用3.x中的缓动函数配合onUpdate钩子,计算并设置贝塞尔曲线中的坐标实现简易的抛物线运动. 代码: nodeM ...

  6. [Cocos Creator 3.5]cc.Tween中easing包含哪些

    api链接:类型别名: TweenEasing 类型:string public TweenEasing : "linear" | "smooth" | &qu ...

  7. Cocos creator -引擎解构

    Cocos creator -引擎结构 在长期的开发中,发现cc对大型的手游加载项目的速度很慢,于是我产生了一种想法,想把 cocos creator移植在Linux上做开发,编译时在Windows. ...

  8. 022 - cocos creator 3D

    #cocos creator 3D warning 报错:"project:///assets/main.js,将https中的export注视掉重试一遍 知识点 scrollview组件添 ...

  9. 小游戏开发--Cocos引擎

    canvas 设计尺寸:720*1280 Cocos Creator 屏幕适配: 通常竖屏手机游戏采用Fit Width,横屏手机采用Fit Height,PC端全屏采用Show All. Warni ...

最新文章

  1. 简单上手Linux的输入输出重定向
  2. 8086实时时钟实验(一)——《x86汇编语言:从实模式到保护模式》05
  3. Java内存图以及堆、栈、常量区、静态区、方法区的区别
  4. 创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积
  5. er图转关系模式规则_在石250谈及户外和解。神豪“木湙子”调侃“沈曼流水合同”?“青蛙”630万超皇续费!“婷er骚俊”舰队100图超高返利!...
  6. SQL入门语句之LIKE、GLOB和LIMIT
  7. rcp rapido_为什么气流非常适合Rapido
  8. java基础——“”equals“”与 “”==“” 的区别
  9. 经济学专业向计算机方向创业,基于市场需求的经济学专业人才培养模式研究
  10. 自学python书籍怎么选-自学Python可以选择哪些入门书籍?
  11. win8.1 服务器正在运行,Win8.1系统打开IE浏览器提示服务器正在运行中的解决方法图文教程...
  12. C++代码实现栈基本操作
  13. React 混合中英文计算字符长度
  14. Dubbo之手写RPC框架
  15. 集成百度做敏感词鉴定
  16. Mblog 系统配置
  17. 经典文献阅读之--lris(优于Scan Context的回环检测)
  18. 在函数前面加上WINAPI、CALLBACK等是什么意思
  19. 家居网络营销:定制家具行业如何做好全网营销?
  20. php操作主从mysql_PHP 操作MySQL数据库

热门文章

  1. 查看虚拟机里的Centos7的IP
  2. 今日头条:内容引流玩法(上)
  3. java-php-python-springboot-中医药院校科研会议系统-计算机毕业设计
  4. CS224W-图神经网络 笔记4.1:Community Structure in Networks - 网络中社区的特性
  5. 关于小程序的https
  6. 您可能不需要Twitter客户端,只需在New Twitter中学习热键
  7. 深度学习中的Epoch,Batchsize,Iterations深刻理解
  8. python语言中find是什么意思_Python find()函数是什么?
  9. 财务平台打印不完整处理及横向纵向问题
  10. android宫格式布局,Android 自定义TextView实现宫格布局,Drawable添加图片并控制宽高...