1
1

UnityでScrollViewをもっと便利に使う方法

Posted at

はじめに

初めてQiitaで記事を書くので、つたない部分あるかもしれませんが温かく見守っていただけると幸いです。基本的には普段の開発のアウトプットと備忘録を兼ねています。

ターゲット

Unityの使い方は概ね分かっていて、ScrollViewを使ってみたことのある人を想定しています。

結果

こんな感じのができました
Qiita1.gif

UnityのScrollViewを解説する記事が他のUI(ButtonやImage)に比べてあまりに少なかったので、まずはScrollViewの簡単な使い方からやっていきます。

ScrollViewの出し方

この辺はまだ探せば記事が出るので手短に、
スクリーンショット 2023-11-27 194310.png

ScrollViewを出したいCanvas上で右クリック → UI → ScrollView でScrollViewがGameに出る

ScrollViewの構成はこんな感じ
スクリーンショット 2023-11-27 194651.png

大事なのはViewPart>Contentのところ、極論スマホゲームなら
Scrollbar Horizontal
Scrollbar Vertical
はあんま使わないから消しちゃっていい

スクリーンショット 2023-11-27 195038.png

詳しいコンポーネントの解説は伏せるが、Contentに
ContentSizeFilterコンポーネント
(縦のScrollViewなら)VerticalLayoutGroupコンポーネント
(横のScrollViewならHorizotalLayoutGroup、格子状ならGridLayoutGroup)

を付ければ、超簡単にScrollViewを作れる

これの問題点

Qiita1_2.gif

ただこのままだと縦のScrollViewは出来るけど、
ScrollViewの一要素として横にボタンを配置することができない。
そんな壁にぶち当たった人向けの記事です。

解決法

結論から言えば、横に配置したいボタンを空のオブジェクトに入れる。スクリーンショット 2023-11-27 201212.png

今回はContentに3つの要素を入れた。
1. 上の白いImage
2. 空のObject(Buttons)(Heightは400(自由に変えられる))
  >Button
  >Button(1)
3. 下の白いImage

スクリーンショット 2023-11-27 201242.png

こんな感じになる。

そのまま入れると2つのButtonが縦に並んでしまうが、
空のObjectを経由することで子どものButtonのtransformを好きにいじれるので、
x座標をいじれば、好きに配置できます。

最後まで読んでいただきありがとうございます。
わかりづらい箇所などあればご指摘いただけますと幸いです。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1