实现了一个Dotween超精简版的脚本,核心均基于Unity MonoNehaviour.StartCoroutine方法实现,添加了Unity.Transform添加扩展方法,方便调用。包含动画过程中常用的基本的位移、缩放、旋转、淡入淡出、以及数值的动态变化。使用也非常简单。直接将Plugins下的Prefabs拖动到场景中,然后再脚本中调用即可。

Demo截图预览

部分代码如下


using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace SunME {public static class Extensionmethod {/// <summary>/// 移动对象到目标位置/// </summary>/// <param name="targetPos">目标坐标</param>/// <param name="duration">过程的持续时间</param>/// <param name="ignoreTimeScale">是否忽视时间缩放</param>/// <param name="OnComplete">执行完成的回调函数</param>public static void DoMove (this Transform t, Vector3 targetPos, float duration = 1, bool ignoreTimeScale = false, Action OnComplete = null) {Tween.Instance.MoveAtion (t, targetPos, duration, ignoreTimeScale, OnComplete);}/// <summary>/// 旋转对象到目标欧拉角/// </summary>/// <param name="targetRotate">目标欧拉角</param>/// <param name="duration">过程的持续时间</param>/// <param name="ignoreTimeScale">是否忽视时间缩放</param>/// <param name="OnComplete">执行完成的回调函数</param>public static void DoRotate (this Transform t, Vector3 targetRotate, float duration = 1, bool ignoreTimeScale = false, Action OnComplete = null) {Tween.Instance.RoateAction (t, targetRotate, duration, ignoreTimeScale, OnComplete);}/// <summary>/// 缩放对象到目标值/// </summary>/// <param name="targetScale">目标缩放值</param>/// <param name="duration">过程的持续时间</param>/// <param name="ignoreTimeScale"></param>/// <param name="OnComplete">执行完成的回调函数</param>public static void DoScale (this Transform t, Vector3 targetScale, float duration = 1, bool ignoreTimeScale = false, Action OnComplete = null) {Tween.Instance.ScaleAction (t, targetScale, duration, ignoreTimeScale, OnComplete);}/// <summary>/// 改变对象的Alpha为目标值/// </summary>/// <param name="isfadeIn">是否是淡入,否则为淡出</param>/// <param name="duration">过程的持续时间</param>/// <param name="ignoreTimeScale">是否忽视时间缩放</param>/// <param name="OnComplete">执行完成的回调函数</param>public static void DoFade (this Transform t, bool isfadeIn, float duration = 1, bool ignoreTimeScale = false, Action OnComplete = null) {Tween.Instance.FadeAction (t, isfadeIn, duration, ignoreTimeScale, OnComplete);}/// <summary>/// 在给定时间内改变一个浮点值/// </summary>/// <param name="targetValue">目标值</param>/// <param name="valueChangeAction">值发生改变时的回调函数</param>/// <param name="duration">持续时间</param>/// <param name="ignoreTimeScale">是否忽视时间缩放</param>/// <param name="OnComplete">值更改完成时回调</param>public static void DoValueChange (this float t, float targetValue, Action<float> valueChangeAction, float duration = 1, bool ignoreTimeScale = false, Action OnComplete = null) {Tween.Instance.ValueChangeAction (t, targetValue, valueChangeAction, duration, ignoreTimeScale, OnComplete);}}
}

调用方式如下

t1.DoMove (new Vector3 (3, -2, 0), 2, true, ()=>{ Debug.Log ("移动完成"); { Debug.Log ("移动完成"); });t2.DoRotate (new Vector3 (0, 60, 0), 2, false, () => { Debug.Log ("旋转完成"); });t3.DoScale (new Vector3 (3, 3, 3), 3);spriteRenderer.transform.DoFade (false, 3);image.transform.DoFade (false, 2);kk.DoValueChange (80, value => { _camera.fieldOfView = value; }, 2, false, () => {Debug.Log ("值改变完成");});

Demo和工程地质地址:扫码—>当前文章—>文章末尾


地址:https://gitee.com/Sun_ME/AnimatedLite.git

Unity 精简缓动动画脚本相关推荐

  1. 背水一战 Windows 10 (15) - 动画: 缓动动画

    背水一战 Windows 10 (15) - 动画: 缓动动画 原文:背水一战 Windows 10 (15) - 动画: 缓动动画 [源码下载] 背水一战 Windows 10 (15) - 动画: ...

  2. js简单动画:匀速动画、缓动动画、多物体动画以及透明度动画

    主要实现以下几种简单的动画效果(其实原理基本相同): 1.匀速动画:物体的速度固定 2.缓动动画:物体速度逐渐变慢 3.多物体动画 4.透明度动画 效果实现: 1.匀速动画(以物体左右匀速运动为例) ...

  3. 缓动动画_核心动画概念:缓入缓出

    缓动动画 With the arrival of CSS transitions, animation is now completely at home on web pages. In anima ...

  4. 用缓动动画实现鼠标跟随

    鼠标跟随是为了更好的用户体验而存在,鼠标移动到某个元素的位置,一张代表鼠标的图也移到当前元素的位置,用户能更好的看到自己的鼠标位置,也能用这个做普通特效.当鼠标移动到某个位置,那张图也移动到某个位置, ...

  5. JavaScript 音乐导航(缓动动画、会唱歌的导航)

    效果展示 鼠标在导航栏上移动,每一项发出一种音符(do re mi fa so la xi),同样键盘上的1-7数字也可以有同样的效果. 资源下载 音乐导航(缓动动画.会唱歌的导航) 代码 index ...

  6. 11、《每周一点canvas动画》——缓动动画

    本系列文章代码文件 前面的章节我们介绍了许多基本的动画,在本节我们将使用这些基本的动画来创建一些高级动画.今天我们介绍的第一个高级动画叫做缓动动画(ease),也许在写css动画的时候已经接触过 ea ...

  7. SVG—初识3之SVG动画(缓动动画、时间轴线、时间交错)

    SVG-初识3 SVG动画 使用GSAP制作动画 缓动动画 时间轴线 时间交错 SVG动画 Transform(scale.rotate.translate .skew) 路径动画 (path) 描边 ...

  8. canvas系列教程07 ——捕获、拖拽、抛掷、缓动动画、弹性动画

    捕获物体 多边形以及不规则图形的捕获非常复杂,采用的方法是分离轴定理(SAT)和最小平移向量(MTV).这里不展开介绍,有兴趣的小伙伴可以自行搜索了解一下.下面来介绍一下矩形和圆的捕获. 矩形的捕获 ...

  9. Egret_Tween缓动动画

    通常情况下,游戏中或多或少都会带有一些缓动动画.例如界面弹出,或者道具飞入飞出的特效等等.在制作这些缓动动画的时候我们仅仅 希望简单的办法实现这种移动或者变形缩放的效果.Egret中的 Tween 缓 ...

最新文章

  1. intelij idea java.lang.ClassNotFoundException
  2. How to Build a User Experience Team
  3. Oracle之垂直水平分库分表(一)
  4. 用原生JavaScript实现淡入淡出轮播图
  5. P3332-[ZJOI2013]K大数查询【树套树】
  6. Mint-Ui的mt-search点击选中
  7. react 生成图片二维码_21个React开发神器
  8. HTML(三)选择器--复杂选择器
  9. Vue Document
  10. 限流10万QPS、跨域、过滤器、令牌桶算法-网关Gateway内容柒哥都给你总结在这儿了...
  11. Python爬取奇书网(用Python下载小说到本地)
  12. 4.1期货每日早盘操作建议
  13. 线性代数 --- 投影与最小二乘 上(一元一次方程组的最小二乘解与向量在一维子空间上的投影)
  14. 你心心念念的 GitHub手机版APP终于来咯
  15. 【leedcode刷题1】两数之和
  16. 基础代谢率、BMI、体脂肪率、肌肉量、体水分率,这些都是什么?
  17. js鼠标跟随特效鼠标滑过出现小星星动画
  18. 最便捷的神经网络可视化工具之一--Flashtorch
  19. 记一次 mac电脑 parallels desktop win10 虚拟机配置rsync文件同步功能(含mac 无法读写ntfs移动硬盘的解决方法)
  20. 客观赋权法——变异系数法

热门文章

  1. 构建ubuntu根文件系统
  2. cursor.execute
  3. ninja介绍及使用
  4. 详解多线程MT 和 MD
  5. 近几年天猫双十一交易额数据是多少
  6. MTK6592 GPIO模拟I2C
  7. JavaScript基础-逗号和三目运算符
  8. 安卓手机主题软件_资源|一款安卓实现苹果ios风格主题软件
  9. 嵌入式linux设计报告,[嵌入式linux课程设计报告.doc
  10. docker搭建fabric环境