代码之家  ›  专栏  ›  技术社区  ›  Tengku Fathullah

在下一个附加不工作之前延迟的Unity dotween

  •  0
  • Tengku Fathullah  · 技术社区  · 6 年前

    我有数据列表,我正试图按顺序在它们之间切换。如果我给每个孩子一个延迟,它就不起作用了。我试图实现的是在下一个序列之前插入延迟。

    private IEnumerator<float> _CameraTransition()
    {
        var camSequence = DOTween.Sequence();
    
        for (int i = 0; i < CamerasData.Count; i++)
            camSequence.Append(cam.DOFieldOfView(CamerasData[i].fov, CamerasData[i].duration).SetDelay(CamerasData[i].triggerDelay));
    
        camSequence.Play();
        yield return 0;
    }
    

    如果我移除 SetDelay 它能用,但当然不能耽搁

    1 回复  |  直到 6 年前
        1
  •  5
  •   Demigiant    6 年前

    (注:我是操作程序所指的库的开发人员)

    在序列中添加延迟的正确方法是使用 AppendInterval 在序列本身上。

    for (int i = 0; i < CamerasData.Count; i++) {
       camSequence
          .AppendInterval(CamerasData[i].triggerDelay)
          .Append(cam.DOFieldOfView(CamerasData[i].fov, CamerasData[i].duration));
    }
    

    也就是说,setdelay在理论上也应该有效,即使它不被推荐。我将把它添加到我的待检查列表中。