• 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(); 开始
    如果你感兴趣,你可以把你妹妹介绍给我
  • 相关阅读:
    .net Application的目录
    (转载).NET中RabbitMQ的使用
    (转载)RabbitMQ消息队列应用
    说说JSON和JSONP
    SQL Server中的事务与锁
    StackExchange.Redis Client(转载)
    正则语法的查询,这是纯转载的,为了方便查询
    Regex的性能问题
    解决json日期格式问题的办法
    BenchmarkDotNet(性能测试)
  • 原文地址:https://www.cnblogs.com/plateFace/p/4722712.html
Copyright © 2020-2023  润新知