DoTween学习笔记(一)

DOTween是一个快速,高效,完全统一的类型安全的对象属性动画引擎,免费开源,大量的高级特性.

DoTween兼容Unity4.5以上的版本,支持的平台: Win, Mac, Unity WebPlayer, WebGL, iOS, Android,Windows Phone 8, Windows Store, PS Vita (PSM), PS4,Xbox One平台,

(下载之后放入Plugins文件夹,引入DG.Tweening命名空间就可以使用了)

官网地址: http://dotween.demigiant.com/

下载地址: http://yunpan.cn/cdvNuC4cGkfGF  访问密码 07ec

splash_dotween

特性:

  1. 速度和效率: 不仅非常快,而且非常有效:一切都是缓存和重用,避免无用的GC分配。
  2. 快捷: 使用扩展方法扩展公共对象用户方便编写代码如下
      // 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();
  3. 几乎支持任何动画: 支持属性数字,非数字, 字符串和富文本动画展现
  4. 还有很多我就不一一介绍了

 

简单移动Cube到达目的地:

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);
    }

移动,旋转,缩放:

//向上移动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 秒内在原始比例和下面比例之间,来回冲压变化

控制Itween方法:

DOComplete();    执行该方法,变化立即结束,且完成移动
DOFlip();    在变化过程中执行该方法,则物体慢慢的变回原样,如果变化已经完成,该方法无效
DOGoto(2); 变化过程中执行该方法,则物体变化到 第二秒 时该物体的位置、比例等
DOKill(); 停止掉当前的变化
DOPlayBackwards(); 播放结束之前,让物体倒序运动到原位
DOPlayForward(); 播放结束之前,让物体继续运动到目标位置
DORestart();    在变化结束之前,执行该方法,则重新开始变化
DORewind(); 变化过程中执行该方法,回到原始
DOPause(); 停止
DOPlay(); 开始
posted @ 2015-08-11 23:40 盘子脸 阅读(...) 评论(...) 编辑 收藏