Unity dotween 延迟在下一个追加之前不起作用
Unity dotween delay before the next append not working
我有数据列表,我正在尝试按顺序对它们进行补间。如果我为每个补间设置延迟,它将不起作用。我试图实现的是在下一个序列之前插入延迟。
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
它会起作用,但当然不会延迟
(注意:我是 OP 所谈论的库的开发者)
在序列中添加延迟的正确方法是在序列本身上使用 AppendInterval。
for (int i = 0; i < CamerasData.Count; i++) {
camSequence
.AppendInterval(CamerasData[i].triggerDelay)
.Append(cam.DOFieldOfView(CamerasData[i].fov, CamerasData[i].duration));
}
也就是说,即使不推荐,SetDelay 在理论上也应该有效。我会将它添加到我的待检查列表中。
我有数据列表,我正在尝试按顺序对它们进行补间。如果我为每个补间设置延迟,它将不起作用。我试图实现的是在下一个序列之前插入延迟。
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
它会起作用,但当然不会延迟
(注意:我是 OP 所谈论的库的开发者)
在序列中添加延迟的正确方法是在序列本身上使用 AppendInterval。
for (int i = 0; i < CamerasData.Count; i++) {
camSequence
.AppendInterval(CamerasData[i].triggerDelay)
.Append(cam.DOFieldOfView(CamerasData[i].fov, CamerasData[i].duration));
}
也就是说,即使不推荐,SetDelay 在理论上也应该有效。我会将它添加到我的待检查列表中。