当前正在执行的 GUI 行为的排序深度。
设置该属性可以确定同时运行的多个不同脚本的排序。
使用较小深度值绘制的 GUI 元素将显示在深度值较大的元素上方(您可以将深度想象为到摄像机的“距离”)。
注意:要使该示例正常工作,您需要创建 2 个脚本。
请记得将脚本命名为与类名称相同的名称,
否则示例代码将不起作用。
\
一个按钮位于另一个的后方。
using UnityEngine; using System.Collections;
// Makes this button go back in depth
public class Example1 : MonoBehaviour { public int guiDepth = 0; public Example2 example2;
private float buttonX, buttonY;
void Start() { buttonX = (Screen.width / 2) - 100; buttonY = (Screen.height / 2) - 100; }
void OnGUI() { GUI.depth = guiDepth; GUI.color = Color.yellow;
GUIStyle size = new GUIStyle("button"); size.fontSize = 16;
if (GUI.RepeatButton(new Rect(buttonX, buttonY, 200, 100), "Go Backwards", size)) { guiDepth = 1; example2.guiDepth = 0; } } }
将此另一个示例复制到另一个脚本:
using UnityEngine; using System.Collections;
// Makes this button go back in depth
public class example2 : MonoBehaviour { public int guiDepth = 1; public Example1 example1;
private float buttonX, buttonY;
void Start() { buttonX = (Screen.width / 2) - 50; buttonY = (Screen.height / 2) - 50; }
void OnGUI() { GUI.depth = guiDepth; GUI.color = Color.green;
GUIStyle size = new GUIStyle("button"); size.fontSize = 16;
if (GUI.RepeatButton(new Rect(buttonX, buttonY, 200, 100), "Go Backwards", size)) { guiDepth = 1; example1.guiDepth = 0; } } }