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