• Unity3d dotween


    位置

    1. 移动到指定位置

    obj.transform.DOMove(new Vector3(0, 3, 0), 2f);
    a. 单方向可以用DOMoveX、DOMoveY、DOMoveZ
    b. 本地坐标系版本:DOLocalMove

    (Scale、Rotate有类似方法)

    2. 相对移动

    //X轴方向向前移动100(如果.SetRelative(true)拿掉则表示移动到x坐标为100的位置)
    obj.transform.DOLocalMoveX(100, 1f).SetRelative(true);
    obj.transform.DOLocalMove(new Vector3(100, 100), 2f).SetRelative(true)
    //还可以使用方法
    DOBlendableLocalMoveBy
    DOBlendableMoveBy
    (Scale、Rotate有类似方法)

    透明度

    obj.DOFade(0, 1f)//注意不是transform

    颜色

    obj.DOColor(Color.gray, 1f)

    缓动动画

    //缓动动画  效果demo:http://robertpenner.com/easing/easing_demo.html
    obj.transform.DOLocalMove(new Vector3(100, 100), 2f).SetEase(Ease.InOutBack);

    循环

    //SetLoops第一个参数是循环次数,-1表示无限
    obj.DOFade(0, 1f).SetLoops(3, LoopType.Yoyo);
    
    
    //匀速旋转实现
    image.transform.DOLocalRotate(new Vector3(0, 0, 30), 0.5f).SetLoops(-1, LoopType.Incremental).SetEase(Ease.Linear);

    回调

    var result = image.DOFade(0, 2f).SetLoops(3, LoopType.Yoyo);
    result.OnComplete(() => Debug.Log("OnComplete")).OnKill(() => Debug.Log("OnKill")).OnStepComplete(() => Debug.Log("OnStepComplete")).OnRewind(() => Debug.Log("OnRewind")).OnStart(() => Debug.Log("OnStart"));

    振动

    obj.transform.DOShakePosition(1, 10);
    obj.transform.DOShakeRotation(1);
    obj.transform.DOShakeScale(1);

    From

    //从定义定义动作将到达的位置移动到当前位置,From带true,表示DOLocalMoveX(100, 1f)使用相对位置,所以说从x+100的位置移动到当前位置。如果不带true,则表示从x==100的位置移动到当前位置。
    image.transform.DOLocalMoveX(100, 1f).From(true)

    DoText

    text.DOText("这是一个DoText测试", 2f);

    Sequence

    //按顺序执行
    Sequence seq = DOTween.Sequence();
    seq.Append(image.transform.DOLocalMove(new Vector3(100, 100), 2f));
    seq.AppendInterval(1f);
    seq.Append(image.DOColor(Color.blue, 2f));
    //同步执行Insert的第一个参数表示延时
    seq.Insert(0, image.transform.DOLocalMove(new Vector3(100, 100), 3f)).Insert(1f, image.DOColor(Color.blue, 1f));

    To

    Vector3 pos = new Vector3();
    var res = DOTween.To(() => Vector3.zero, v => pos = v, new Vector3(100, 100, 1), 2);//参数分别为getter、setter、endValue、duration
    res.onUpdate = () =>
    {
        image.transform.localPosition = pos;
        //image.transform.position = pos;
    };
  • 相关阅读:
    int 类型 占多少字节是由什么决定的
    layer.js漂亮的弹出框
    jquery分页点击后页面置顶
    动态请求页面生成静态页
    弹出ifame页面(jquery.reveal.js)
    Request.QueryString["id"] 、Request.Params["id"] 的强大
    为什么现在改用int.TryParse了
    时间格式(例如:2015-11-09)
    返回前一页
    sql获得某个时间段的数据
  • 原文地址:https://www.cnblogs.com/wrbxdj/p/10417201.html
Copyright © 2020-2023  润新知