新手引導UI設計
最近在做新手引導系統, 遇到了些問題, 先說說新手引導的設計吧
一、新手引導UI
預設作法如下, 去看了下以前的做法似乎有些問題需要解決, 以前用 NGUI 做這塊, 需要將目標 UI 顯示層級提上來, 當時我的作法是把目標 Button parent 換成教學 UI Panel, 這樣就能保證要點擊目標一定會在最上層
現在項目使用 UGUI, UGUI 顯示層級是看 UI 順序的, 不然就是修改 Sorting Layer 或 Order in Layer
Sorting Layer
Sorting Layer 可以想像是一個大類, 在這個列表下渲染是按照這個清單順序的, 譬如
A物件
- Sorting layer: UI
- Order in Layer: 10
B物件
- Sorting layer: Fx
- Order in Layer: 1
就算你設定比較高的 Order in Layer, A物件也不可能比B物件層級高, 這是因為在 Sorting Layer 就已經決定誰高誰低了
Order in Layer
在同一個 Sorting Layer 下你可以藉由 Order in Layer 決定先後, 值越大層級越高
在 Sprite Renderer 可以設定這兩個值
Spine 用的 Mesh Renderer 雖然沒有, 但其實都是繼承 render, 可以直接調用修改
mSpine_Teacher.GetComponent<MeshRenderer>().sortingLayerID = SortingLayer.NameToID("Spine");
mSpine_Teacher.GetComponent<MeshRenderer>().sortingOrder = 1;
最後呈現出來的效果是這樣