コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】FancyScrollRect のスクロールを止める方法

概要

FancyScrollRect のスクロールの速度は
Scroller クラスの velocity で管理されているが
velocity は private なので外部から操作できない

/// <summary>
/// 現在のスクロール位置.
/// </summary>
/// <value></value>
public float Position
{
    get => currentPosition;
    set
    {
        autoScrollState.Reset();
        velocity = 0f;
        dragging = false;

        UpdatePosition(value);
    }
}

Scroller クラスの Position の set アクセサの中で
velocity が 0 にリセットされているので

Scroller.Position = Scroller.Position;

上記のようなコードを書けば FancyScrollRect のスクロールを止められる