首页 > 其他分享 >彻底搞懂Cocos Creator Tween

彻底搞懂Cocos Creator Tween

时间:2024-01-15 15:33:42浏览次数:23  
标签:Cocos 对象 Tween Action 搞懂 执行 过程

Cocos 使用了Tween来代替原来的Action系统, 今天来给大家讲解Tween如何使用, 帮助大家掌握Tween的使用,并且对Tween有一个更深入的了解。

 

1: Tween到底是什么?

 Cocos Creator 里面的Tween你可以理解为是一个容器对象, 在这个容器对象里面可以存放很多的”执行过程”,当执行这个Tween的时候,会一个一个过程的触发执行。这样Tween的使用就归纳总结出3个步骤:

  (1): 创建一个Tween对象;

  (2): 往Tween里面填加一个一个的执行过程;

  (3): 执行Tween对象,引擎会一个一个的执行之前添加进来的过程。

 

例如:在0.5秒以内,让A物体从当前位置,移动到(100, 0)位置,代码如下

(1)  你要改变A物体位置,所以Tween的目标对象是A物体所在节点。

 var t = cc.tween(A物体对应节点); 创建了一个针对A物体节点的Tween对象。

    

(2) 定制中间执行过程, 这个过程可以是一个,也可以是多个,这里我们是要从当前位置移动到(100, 0)的位置,所以使用tween对象的to函数来指定。

t.to(时间(0.5s), 属性列表{}), 属性列表,可以填写Tween针对的目标对象实例中的任意属性, 我们这里是x, y, 所以 t.to(0.5, {x: 100, y: 0}); 这样就给目标物体创建了一个过程,0.5s之内从当前位置移动到目标位置(100, 0)。

(3) 启动执行这个tween对象: t.start();

 

代码如下:

 

 

 

2: Tween 可以添加哪些过程

Tween可以添加哪些过程,我们可以去查看一下Tween的API文档,在代码编辑器里面右键Tween对象,然后在”Go to Definition”

 

这样可以知道往这个Tween里面加入哪些过程。这些过程creator.d.ts里面都有,我这边就不再重复的编写,这里我就想分享一个小技巧,就是很多同学不知道props怎么写,到底可以写哪些内容?

 

其实这个很简单,你只要打开target对象的类型,比如节点,cc.Node, 他有哪些属性数据成员,这里的props就可以填写哪些,不用死记硬背。

如果再执行的过程中要停止Tween的执行,可以使用Tween的Stop相关接口即可。

 

3: Tween的源码实现

打开cocos引擎源码actions/tween.js, 你会发现Tween其实是基于Cocos 的Action系统来实现的, Tween容器对象里面放的是一个一个的TweenAction, 这样Tween实际上是Action系统来实现的。TweenAction是Tween编写的一个Action, 这个Action继承自 cc.ActionInterval, 在update里面来根据进度修改Target对应的属性。还有一些函数调用的Tween,其实就是之前的Action里面的cc.callFunc, 如图所示:

 

所以看完这些以后,相信你对Tween将会有一个详细的了解了。

标签:Cocos,对象,Tween,Action,搞懂,执行,过程
From: https://www.cnblogs.com/rainy1unity/p/17965471

相关文章

  • Cocos Creator 3.8 开发2D水面波纹Shader
     使用cocosCreator3.8做了一个游戏开中常用的2D的波浪水面,把技术点给记录一下,并提供完整的Shader代码。先上效果:   2D波浪的基本技术原理 2D水面波纹的主要原理就是给定一个正选波的边界,在范围内的片元uv就显示,在范围外的片元uv就不显示。同时利用正弦波表达式:......
  • MySQL Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoin
    错误信息:2023-12-12T09:32:31.383149Z0[ERROR]InnoDB:IgnoringtheredologduetomissingMLOG_CHECKPOINTbetweenthecheckpoint5777611209andtheend5777612857.2023-12-12T09:32:31.384149Z0[ERROR]InnoDB:PlugininitializationabortedwitherrorGeneri......
  • 一文搞懂数据资产化和数据要素两级市场
    在数字化时代,数据已经成为驱动经济社会发展的核心要素。数据资产化和数据要素市场的兴起,是这一时代发展的必然产物。本文将通过简洁明了的方式,为您解读数据资产化和数据要素的内涵及其相互关系。一、数据资产化数据资产化,简单来说,就是将数据视为一种资产,对其进行有效管理和利用。数......
  • Cocos Creator 3.x之点击选择3D物体
    一,场景设计二,SelectView.tsimport{_decorator,Component,Node,Camera,MeshRenderer,Mesh,EventTouch,input,Input,Vec2,v2,geometry,PhysicsSystem,PhysicsRayResult,Material,isValid}fro......
  • 一篇文章彻底搞懂TiDB集群各种容量计算方式
    背景TiDB集群的监控面板里面有两个非常重要、且非常常用的指标,相信用了TiDB的都见过:Storagecapacity:集群的总容量Currentstoragesize:集群当前已经使用的空间大小当你准备了一堆服务器,经过各种思考设计部署了一个TiDB集群,有没有想过这两个指标和服务器磁盘之间到底是啥关......
  • 搞懂 ELF - 从入门到遗忘(转)
    原文:https://www.51cto.com/article/720922.html1.背景长期以来只知道ELF是一种广泛使用的文件格式规范,常指动态库、bin等,一直没动力深入研究。出于业务需求,我花了好些天仔细分析RTOSBin的Section和Symbol。也是趁着这机会,查阅大量资料,完善了知识脉络。但是可以预见,......
  • Cocos Creator 3.x之旋转基础
    一,场景设计二,整体场景效果三,QuatView.ts代码import{_decorator,Component,EventTouch,Input,input,Node,Quat,v3,Vec3,Vec2}from"cc";const{ccclass,property}=_decorator;@ccclass("QuatView")exportclassQuatViewextendsComponent{......
  • 管理类联考考试科目有哪些?一次性搞懂!
    考研,即研究生入学考试,是许多大学毕业生为了继续深造而参加的考试。一般来说,考研的科目包括英语、政治、数学等多个学科,考试时间通常会持续数天。然而,有一些专业的考研只需要一天的时间,这就是管理类的专业学位考试。管理类联考是什么?管理类联考是指管理类专业硕士研究生入学统一考试......
  • cocos 自定义property
    exportenumAviaBC2CountryEnum{GBR=1,USA=2,}//定义一个图片类型的类@ccclass("SpriteTypes")//这个名字一定要写,而且还注意不能取下面的类名不然cocosCreator会一直报警告classSpriteType{//语言@property({type:cc.Enum(AviaBC2Cou......
  • mac m1 编译cocos2d-x 在模拟器上运行 一些问题汇总
     如果涉及到侵权请联系本人删除 1  》〉/Users/yzfhkms-m/Library/Developer/Xcode/DerivedData/formi-dlcfwgxcmidqefdkxnvnfwfprpfs/Build/Products/Debug-iphonesimulator/formi-mobile.appisnotavalidpathtoanexecutablefile.Pleaserebuildtheprojectto......