开源项目工具:LeanTween - 为Unity 3D打造的高效缓动引擎详解(比较麻烦的API版)

1.LeanTween.reset()

一、工具介绍

参考:推荐开源项目:LeanTween - 为Unity 3D打造的高效缓动引擎-CSDN博客

LeanTween是一个专为Unity 3D引擎设计的高效缓动(tweening)库,它提供了简单易用的API,帮助开发者轻松实现各种复杂场景。

二、常用的方法详解


1.LeanTween.reset()

 很明了的方法,用于重置,最好在每次加载的时候进行重置,一般放在Start或者Awaik方法中使用


2.LeanTween.addListener和LeanTween.dispatchEvent

 

代码示例:

public class MoveTools : MonoBehaviour
{public GameObject ball;public MyActions action;void Start(){LeanTween.reset();LeanTween.addListener(this.gameObject, (int)MyActions.Jump, jumpUp);}void Update(){if (Input.GetKeyDown(KeyCode.Space)){Debug.Log("jump!");LeanTween.dispatchEvent((int)MyActions.Jump, this);}}void jumpUp(LTEvent e) { Debug.Log("LTEvent:" + e.ToString()); }}public enum MyActions
{Idle,Jump,
}

3.LeanTween.moveSpline

让物体按照一些列点进行移动,但是需要注意的是,第一个点和最后一个点不会经过


public class TestMoveSpline : MonoBehaviour
{public MyActions action;public List<GameObject> targets;private Vector3[] positions; //void Start(){positions = new Vector3[targets.Count];LeanTween.reset();for (int i = 0; i < targets.Count; i++){positions[i] = targets[i].transform.position;}}void Update(){if (Input.GetKeyDown(KeyCode.Space)){LeanTween.moveSpline(gameObject, positions, 3.0f);}}}

4.LeanTween.rotate系列

rotate系列有:

  • rotate(GameObject gameObject, Vector3 to, float time)
  • rotate(LTRect ltRect, float to, float time)
  • rotateLocal(GameObject gameObject, Vector3 to, float time)

  • rotateX(GameObject gameObject, float to, float time)

  • rotateY(GameObject gameObject, float to, float time)

  • rotateZ(GameObject gameObject, float to, float time)

  • rotateAround(GameObject gameObject, Vector3 axis, float add, float time)

  • rotateAroundLocal(GameObject gameObject, Vector3 axis, float add, float time)

优点:直接输入需要旋转的角度,用法也简单,妈妈再也不用担心旋转的时候发万象锁啦~

需要注意的是:rotate旋转方向以180°为界,会寻找离当前位置最近的角度进行旋转。

如果要旋转超过180°的话,需要用rotateAround方法,例如要不停的旋转360°,写法可以是:

LeanTween.rotateAround(gameObject, transform.up, -360f, 5f).setLoopClamp();

后续更新ing...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ctfshow(175->178)--SQL注入--联合注入及其过滤

Web175 进入界面&#xff1a; 审计&#xff1a; 查询语句&#xff1a; $sql "select username,password from ctfshow_user5 where username !flag and id ".$_GET[id]." limit 1;";返回逻辑&#xff1a; if(!preg_match(/[\x00-\x7f]/i, json_enc…

数据结构(8.4_3)——堆的插入删除

在堆中插入新元素 在堆中删除元素 总结&#xff1a;

Linux:权限的深度解析(小白必看!!!)

文章目录 前言一、Linux重要的几个热键二、关机三、扩展命令总结四、shell命令以及运行原理感性理解五、Linux权限的概念1. 权限的概念2. 认识人&#xff08;用户&#xff09;1&#xff09;创建人2&#xff09;人分类3&#xff09;人切换4&#xff09;指令提权 3. ll下文件的权…

《学会提问》

只要他们使说出口的话听起来显得信誓旦旦&#xff0c;你就极有可能会相信他们的说法 我们倾听他们&#xff0c;是为了构建出自己的答案&#xff0c;而不是听了他们的话以后&#xff0c;马上就按他们说的去做&#xff0c;就好像自己是只无助的羔羊&#xff0c;或者是个牵线的木…

一些待机电流波形特征

一、待机电流波形 最干净的待机电流波形应该只有paging&#xff0c;不过需要注意2点&#xff1a; 每个paging的间隔&#xff0c;不同网络可能不一样&#xff0c;有可能是320ms, 640ms 待机网络 paging 间隔 1分钟的耗电量 单个耗电量 单个待机电流 单个波形时长 4G 64…

二十三、Python基础语法(包)

包(package)&#xff1a;包是一种组织代码的方式&#xff0c;可以将相关的模块组合在一起&#xff0c;以便更好地管理和重用代码&#xff0c;包的目录中有一个特殊代码文件__init__.py&#xff0c;包的命名也要遵循标识符的规则。 一、包的结构 一个 Python 包通常是一个包含…

NLTK无法下载?

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 nltk无法下载怎么办&#xff1f;什么是NLTK&#xff1f;为什么要用NLTK&#xff1f;如何下载&#xff1f; nltk无法下载怎么办&#xff1f; 什么是NLTK&#xff1f; NLTK是学习自然…

python项目实战——多协程下载美女图片

协程 文章目录 协程协程的优劣势什么是IO密集型任务特点示例与 CPU 密集型任务的对比处理 I/O 密集型任务的方式总结 创建并使用协程asyncio模块 创建协程函数运行协程函数asyncio.run(main())aiohttp模块调用aiohttp模块步骤 aiofiles————协程异步函数遇到的问题一 await …

代码随想录跟练21天——LeetCode332.重新安排行程, 51. N皇后,37. 解数独

332.重新安排行程 力扣题目链接(opens new window) 给定一个机票的字符串二维数组 [from, to]&#xff0c;子数组中的两个成员分别表示飞机出发和降落的机场地点&#xff0c;对该行程进行重新规划排序。所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出…

3、java if流程控制、while循环语句

目录 选择流程控制语句循环流程控制语句控制循环语句顺序结构If语句Switch语句For循环While循环Do-While循环控制跳转语句1. 选择流程控制语句 引入话题 想象一下,你正在过马路,你需要先检查是否有车辆经过。如果没有车辆,你才会过马路。这种先判断条件再执行动作的过程,…

【Python可视化系列】一文教你绘制双Y轴的双折线图(案例+源码)

这是我的第369篇原创文章。 一、引言 在日常工作和学习中&#xff0c;我们会遇到将两个折线画在一张图上的情况&#xff0c;且这两个折线代表了两个特征&#xff0c;具有不同的涵义和量纲表示&#xff0c;这时候我们就需要绘制一个双Y轴折线图&#xff0c;一边代表一个特征&…

Redis 持久化 总结

前言 相关系列 《Redis & 目录》&#xff08;持续更新&#xff09;《Redis & 持久化 & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Redis & 持久化 & 总结》&#xff08;学习总结/最新最准/持续更新&#xff09;《Redis & …

GraphQL语法入门

目录 一、介绍GraphQL二、GraphQL基本使用方法三、Schema 定义语言 (SDL)3.1 类型定义1&#xff09;对象类型2&#xff09;标量类型3&#xff09;枚举类型4&#xff09;输入类型5&#xff09;列表类型6&#xff09;非空类型7&#xff09;接口类型8&#xff09;联合类型 3.2 查询…

python进阶集锦

一、迭代器和生成器 区别 关于迭代器和生成器 迭代器与生成器的区别 迭代器&#xff08;Iterator&#xff09;和生成器&#xff08;Generator&#xff09;是Python中处理序列数据的两种不同概念。迭代器是遵循迭代协议的对象&#xff0c;而生成器是一种特殊类型的迭代器&am…

软考:中间件

中间件 中间件是一类位于操作系统软件与用户应用软件之间的计算机软件&#xff0c;它包括一组服务&#xff0c;以便于运行在一台或多台机器上的多个软件通过网络进行交互。 中间件的主要功能包括通信支持和应用支持。 通信支持为应用软件提供平台化的运行环境&#xff0c;屏蔽…

分布式并发场景的核心问题与解决方案

文章目录 分布式并发场景的核心问题与解决方案一、核心问题分析1. 分布式事务问题2. 数据一致性问题3. 并发控制问题4. 分布式锁失效问题 二、解决方案1. 分布式事务解决方案1.1 可靠消息最终一致性方案1.2 TCC方案实现 2. 缓存一致性解决方案2.1 延迟双删策略2.2 Canal方案 3.…

Vue学习笔记(八)

透传attribute "透传attribute"指的是传递给一个组件&#xff0c;却没有被改组件声明为props或emits的attribute或者v-on事件监听器。最常见的例子就是class、style和id。 当一个组件以单个元素为根作渲染时&#xff0c;透传的attribute会自动被添加到根元素上。 …

4个提取音频办法,轻松实现视频转音频!

在信息爆炸的时代&#xff0c;视频内容以其直观、生动的特点占据了互联网的大半江山。然而&#xff0c;在某些场景下&#xff0c;我们可能更倾向于只听取音频部分&#xff0c;无论是驾驶途中听讲座、跑步时享受音乐视频中的纯音乐的场景&#xff0c;还是为了节省流量和存储空间…

Redis与Redis集群的三种模式

RedisRedis(Remote Dictionary Server)是一种开源的内存数据结构存储系统,广泛用于缓存、消息队列和数据持久化等场景。以下是 Redis 的详细介绍: 1. 基本特性 数据结构:Redis 支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。这使得它适用于多种应用场景。…

C++ 类与对象入门:基础知识与定义

引言&#xff1a; 本来打算用一篇介绍清楚C中的类与对象&#xff0c;再三考虑后觉得不妥&#xff1a;第一&#xff0c;知识点实在太多&#xff1b;第二&#xff0c;对于从刚学完C并打算过渡到C的朋友来说&#xff0c;学的太深较有难度… 总而言之&#xff0c;我打算用三到四篇文…