ScrollViewを使って長い文章のスクロールバーを作った。パーツが多くてどこをいじったらいいかややこしくて最初失敗したけど、意外と触るところは少なかった
ScrollView
UI>ScrollView
まずScrollView全体をスクロールしたい大きさにする。
例えば画面の真ん中に出すとしたらこんな感じ。
Content領域の範囲が自動でスクロール範囲になる。
ContentにtextコンポーネントとContentSizeFitterを付ける。
縦長ならVerticalFitをPreferredSizeにする。
textに長い文章を入れる。するとContents領域がtextの長さ分大きくなる
そしてプレイすると横のスクロールバーは勝手に消えていい感じにスクロールできる
簡単!
その他設定(20200619追記)
Mask
ViewPortについているMaskは処理負荷が高いのでRectMask2Dに変える
びよーん
Unityのスクロールビューは、つかんで動かすとびよーんってするけど、あれをなくすにはMovementTypeをClampedにすればよい。
Unrestricted(無制限), Elastic(弾性), Clamped(制限付き) コンテンツを Scroll Rect の範囲内に強制的に収める場合には Elastic か Clamped を使用してください。Elastic モードはコンテンツが Scroll Rect の端に到達した際にバウンドさせます。
他のUnity製アプリの利用規約とかでもビヨンビヨンするのがあって気になってたけど、設定でオフにできたのね
Horizontal
横スクロールがいらない時、ScrollViewについているScrollRectのHorizontalのチェックを外す
そもそもScrollbar Horizontalも消していい
デザイン
パーツをいい感じにする。ImageにあるBackgroundとかを消して単色にするとUnityっぽさは消える
余白は背景にImageを置いてごまかす
最後に