この記事でのバージョン
Unity 5.4.0f3
はじめに
今回はHierarchyでの順序を変える方法のご紹介です。
利用するのは主にuGUIを使っている時ですね。
GetSiblingIndex
Hierarchyでの順序、つまり上から何番目にいるかはTransformのSiblingIndexで確認できます。
int siblingIndex = transform.GetSiblingIndex ();
注意が必要なのが、SiblingIndexは全体での順序ではなく、兄弟内での順序です。
例えば以下のような感じです。(オブジェクトの横の数字がSiblingIndex)
SetSiblingIndex
SiblingIndexの設定にはSetSiblingIndexを使います。
transform.SetSiblingIndex(1);
一番上が0です。
また、兄弟の数以上の値を指定しても、一番下になるだけでエラーにはなりません。
SetAsFirstSiblingとSetAsLastSibling
一番上(uGUIなら背面)にしたい時にはSetAsFirstSiblingを使います。
同様に一番下(uGUIなら前面)にしたい時にはSetAsLastSiblingを使います。
transform.SetAsFirstSibling(); //一番上(uGUIなら背面) transform.SetAsLastSibling(); //一番下(uGUIなら前面)