uGUIのToggleだけでタブ切り替えを作れるらしい!コード書かなくてもできるんだ!
できた
環境:Unity2019.3
構成
TabBackGround
背景
空のGameObject
空のGameObject
子にタブになるボタン(Toggle)を入れる。Rectがついている。タブの大きさにした。
これにToggleGroupと、必要ならタブのボタンをいい感じに並べるためのLayoutGroupをつける
Toggle
GameObjectの下にToggleを置く。
設定はこんな感じにした
Groupに親のToggleGroupをつける
最初にオンになるToggleはIsOnにする
見た目の調整
Unity2019.3なら、押したときに色が変わるだけでいいなら、Checkboxは要らない。
Toggleをボタンの大きさにして、BackgroundとLabelもstretchでその大きさに合わせる。
ToggleのSelectedColorを押したときの色にしたらいい。
Unity2018.4だとSelectedColorなかった;;なのでCheckboxは消さずに、あれの色を変える。
ボタンのImageはBackgroundについているImageのSpriteの形が反映される。角丸にした。
パネル
GameObjectの下にページのUIをおく。(どこでもいいけど)
Toggleのイベント
Toggleのイベントに、対応するページのUIを入れる
GameObject>SetActive(Dynamic boolの方)!!!
すると、Toggleが選択されている時はSetActiveがtrueになって、選ばれていない時はfalseになる!すごい!!そんな機能あったんだ
Dynamic boolについては下に書いてた。この本昔読んだな
uGUIではじめるUnity UIデザインの教科書 - 岩井雅幸 - Google ブックス
ただ、Startの時点では自動でfalseにはしてくれなかったので、最初にActiveじゃないUIは非アクティブにしないとダメ?
完成!
最後に
タブというのはこういうの。下のボタンを押したら画面が切り替わる
まとめました。