【Unity】ScrollBarでSliderのような挙動をさせる


当然Sliderを使うべきですが
やむを得ぬ事情でScrollBarしか使えない事もある

 

ScrollRectからScrollBarを削除してScrollBarのサイズを調整する
こんな感じのコードを書く

public class ChangeScrollbarSize : MonoBehaviour
{
    private Scrollbar scrollbar;
    private ScrollRect scrollRect;

    private void Start()
    {
        scrollbar = GetComponent<Scrollbar>();
        scrollRect = transform.parent.GetComponent<ScrollRect>();
    }
    public void OnchangeScrollSize()
    {
        scrollRect.normalizedPosition = new Vector2(scrollRect.normalizedPosition.x, scrollbar.value);

    }

}

書いたコードをScrollBarのOnValueChangedの中でOnchangeScrollRect()を呼んであげる