[Unity插件]DOTween(3)

来源:互联网 发布:怎么寻找淘宝客户资源 编辑:程序博客网 时间:2024/04/29 02:51
DOTween是一个快速,高效,完全统一的类型安全的对象属性动画引擎,免费开源,大量的高级特性.
DoTween兼容Unity4.5以上的版本,支持的平台: Win, Mac, Unity WebPlayer, WebGL, iOS, Android,Windows Phone 8, Windows Store, PS Vita (PSM), PS4,Xbox One平台,
官网地址: http://dotween.demigiant.com/


特性:
  • 速度和效率: 不仅非常快,而且非常有效:一切都是缓存和重用,避免无用的GC分配。
  • 快捷: 使用扩展方法扩展公共对象用户方便编写代码如下

      [AppleScript] 纯文本查看 复制代码
      ?
      1
      2
      3
      4
      5
      6
      // Move a transform to position 1,2,3 in 1 second
      transform.DOMove(new Vector3(1,2,3), 1);
      // Scale the Y of a transform to 3 in 1 second
      transform.DOScaleY(3, 1);
      // Pause a transform's tween
      transform.DOPause();


  • 几乎支持任何动画: 支持属性数字,非数字, 字符串和富文本动画展现
  • 还有很多我就不一一介绍了

简单移动Cube到达目的地:
[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
public Transform cube;
 
    // Use this for initialization
    void Start () {
        //0,4,0的位置移动过去
        cube.DOMove(new Vector3(0,4,0), 2);                   
        //0,4,0的位置移动过来
        cube.DOMove (new Vector3 (0, 4, 0), 2).From();
        //0,4,0的位置来回移动
        cube.DOMove (new Vector3 (0, 4, 0), 2).SetRelative().SetLoops(-1,LoopType.Yoyo);
     
        //另一种写法
        DOTween.To(()=> cube.position, x=> cube.position = x, new Vector3(0, 4, 0), 1).SetRelative().SetLoops(-1, LoopType.Yoyo);
    }


移动,旋转,缩放:
[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
//向上移动4个单位
cube.transform.DOBlendableMoveBy (new Vector3 (0, 4, 0), 2);
 
//自身坐标向上移动4个单位
cube.transform.DOBlendableLocalMoveBy (new Vector3 (0, 4, 0), 2);
 
//旋转
cube.transform.DOBlendableRotateBy(new Vector3(0, 180, 0), 2).SetLoops(-1,LoopType.Yoyo);
 
//本地坐标系转换30
cube.transform.DOBlendableLocalRotateBy(new Vector3(0, 180, 0), 2).SetLoops(-1,LoopType.Yoyo);
 
  //开始值(1,1,1) 5秒内增加到 (3,3,3)
       
cube.transform.DOBlendableScaleBy(new Vector3(2, 2, 2), 5);


跳跃,冲压机
DOJump(new Vector3(5, 0, 0), 5, 1,5);假设cube坐标(0,0,0)最终跳跃到(5,0,0)位置,跳跃的中间最高度是5,跳跃1次,5秒完成DOPunchPosition(new Vector3(10, 10, 10), 5);在 5 秒内在原始坐标和下面坐标之间,来回冲压DOPunchRotation(new Vector3(50, 50, 50), 5);在 5 秒内在原始旋转和下面角度之间,来回冲压变化DOPunchScale(new Vector3(5, 5, 5), 5);在 5 秒内在原始比例和下面比例之间,来回冲压变化
控制DOTween方法:
DOComplete();   执行该方法,变化立即结束,且完成移动DOFlip();   在变化过程中执行该方法,则物体慢慢的变回原样,如果变化已经完成,该方法无效DOGoto(2);变化过程中执行该方法,则物体变化到 第二秒 时该物体的位置、比例等DOKill();停止掉当前的变化DOPlayBackwards();播放结束之前,让物体倒序运动到原位DOPlayForward();播放结束之前,让物体继续运动到目标位置DORestart();   在变化结束之前,执行该方法,则重新开始变化DORewind();变化过程中执行该方法,回到原始DOPause();停止DOPlay();开始
0 0