c# - Unity - 滚动太快时滚动视图卡住

我正在尝试在 unity 中的 iOS iPhone 游戏(游戏 Arknights 的副本)上制作视差滚动和捕捉滚动视图。但有时(并非总是)当我滑动太快时,滚动视图会卡在滚动视图的 2 个元素之间。在显示这个错误的视频中,我开始非常快速地刷卡,直到出现错误,然后我慢慢地刷卡,一个接一个,看清楚错误。关于如何解决这个问题的任何想法?我的相关脚本如下(如果需要更多请告诉我~):

显示错误的视频:https://youtu.be/tSrRG3kdpnA

void LerpTargetPos()
    {
        StopAllCoroutines();
        StartCoroutine(LerpTargetPosCoroutine());
    }
    IEnumerator LerpTargetPosCoroutine()
    {
        if (scrollRect.horizontalNormalizedPosition != targetPos)
        {
            scrollRect.horizontalNormalizedPosition = Mathf.Lerp(scrollRect.horizontalNormalizedPosition, targetPos, lerpSpeed * Time.deltaTime);
        }
        if (Mathf.Abs(scrollRect.horizontalNormalizedPosition - targetPos) <= 0.0005f)
        {
            scrollRect.horizontalNormalizedPosition = targetPos;
        }
        yield return null;
    }
if (canLerp)
  {
      LerpTargetPos();
  }

回答1

好的——原来我把 LerpTargetPos 方法放在 LateUpdate 方法中,而不是 Update;在我把它放入 Update 之后,一切似乎都正常。