版本:Unity 6 (6000.0)
语言英语
  • C#

GUI.depth

建议更改

成功!

感谢帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们会阅读来自用户每项建议的更改并视情况进行更新。

关闭

提交失败

由于某些原因,你的建议更改无法提交。请在几分钟后<a>重试</a>。感谢你抽出时间帮助我们提升 Unity 文档的质量。

关闭

取消

public static int depth;

描述

当前执行 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; } } }