DOTween的使用(一) DOTween实现代码延时执行 + DOTween.Sequence的(队列)的简单介绍

实现代码的延时执行,可以用Invoke、Coroutine实现,还可以借助DOTween这款插件实现延时执行,代码中尽量避免Coroutine协程代码实现延时,不清楚协程的底层是怎么实现的!可能会引起头大的bug。

一:用DOTween.To实现延时:

	/// <summary>
    /// DOTweenTo延时回调
    /// </summary>
    /// <param name="delayedTimer">延时的时间</param>
    /// <param name="loopTimes">循环次数,0:不循环;负数:无限循环;正数:循环多少次</param>
    public void DOTweenToTest(float delayedTimer, int loopTimes)
    {
        float timer = 0;
        //DOTwwen.To()中参数:前两个参数是固定写法,第三个是到达的最终值,第四个是渐变过程所用的时间
        Tween t = DOTween.To(() => timer, x => timer = x, 1, delayedTimer)
                      .OnStepComplete(() =>
                      {
                          print("996,oh yeah!");
                      })
                      .SetLoops(loopTimes);        
    }

.

二:队列,用DOTween.Sequence实现延时:

	/// <summary>
    /// DOTween.Sequence延时回调
    /// </summary>
    /// <param name="delayedTimer">延时的时间</param>
    /// <param name="loopTimes">循环次数,0:不循环;负数:无限循环;正数:循环多少次</param>
    public void DOTweenSequenceTest(float delayedTimer, ref int loopTimes)
    {
        Sequence seq = DOTween.Sequence();
        seq.AppendCallback(() =>
        {
            print("yeah");
        })
        .SetDelay(delayedTimer)
        .SetLoops(loopTimes);
    }

.
说到DOTween.Sequence了,在这就先简单介绍一下DOTween队列的使用吧,
简单粗暴,看代码 ↓↓↓↓↓↓↓↓↓↓↓↓

 	/// <summary>
    /// DOTween队列
    /// </summary>
    public void DOTweenSequence()
    {
        //首先要创建一个DOTween队列
        Sequence seq = DOTween.Sequence();

        //seq.Append  里面是让主相机振动的临时试验代码
        seq.Append(Camera.main.transform.DOShakePosition(1f, new Vector3(0.8f, 0.8f, 0.8f)));

        //seq.AppendInterval 传入的是一个时间数值,是在队列上一句代码执行完毕隔多长时间执行下一句代码
        float delayedTimer = 5f;
        seq.AppendInterval(delayedTimer);

        //seq.AppendCallback 这里面可以写自己的代码回调了
        seq.AppendCallback(() => { print("oh!"); });

        seq.AppendInterval(3);//延时3秒执行下面队列中的逻辑

        seq.AppendCallback(() => { print("yeah!"); });
    }

DOTwenn这款插件很强大,这里只是把我近两天刚用到的它的知识点记录下来了。

发布了14 篇原创文章 · 获赞 0 · 访问量 418

猜你喜欢

转载自blog.csdn.net/a0_67/article/details/104905712
今日推荐