在Unity中可以创建多层UI,UI的绘制顺序与他们在Canvas下的排列顺序一致,最后绘制的UI会挡住之前绘制的UI。
想要将某个UI层保持在最上层,有两种方法:
- 直接在Hierarchy面板中手动调整UI元素的顺序。
- 用调用
SetAsLastSibling
函数用代码实现。
using UnityEngine;
using System.Collections;
public class BringToFront : MonoBehaviour {
void OnEnable () {
transform.SetAsLastSibling ();
}
}
将包含上述代码的脚本绑定到需要置顶的UI元素上就可以了。
SetAsLastSibling
的原理就是将该UI元素设置为最后一个节点。这样它就会在最后被绘制,也就会显示在最顶层。