前回はuGUIの描画順序について解説しました。
ただし、これだけだと実行中に描画順序を変更する(ソートする)事が出来ません。
なので今回は、その方法を解説したいとおもいます。
描画順の管理は何で行われている?
下記のint値で管理されています。
SiblingIndex
ただしこちらの値は1つの親の子単位となっています。
詳しく解説しますと、下図の状態があった場合
それぞれのButtonのSiblingIndexは
- Button1:0
- Button2:1
- Button3:0
- Button4:1
となります。
SiblingIndexの取得方法
1 |
transform.GetSiblingIndex() |
で取得できます。
SiblingIndexの設定方法
- 値を指定する場合
1 2 |
int index = 5; transform.SetSiblingIndex(index); |
- 最前面にする場合
1 |
transform.SetAsFirstSibling(); |
- 最奥部にする場合
1 |
transform.SetAsLastSibling(); |
因みにHierarchy上でも変更されるので、
そちらでも順序を確認できるようになっています。