“即时模式”GUI 系统(也称为 IMGUI)是 Unity 的主要基于游戏对象的UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
参见 术语表 系统完全独立的功能。IMGUI 是一个代码驱动的 GUI 系统,主要用作程序员的工具。它由对实现它的任何脚本上的 OnGUI 函数的调用驱动。例如,这段代码
void OnGUI() {
if (GUILayout.Button("Press Me")){
Debug.Log("Hello!");
}
}
将导致显示一个像这样的按钮
即时模式 GUI 系统通常用于
IMGUI 系统通常不适用于玩家可能使用和交互的普通游戏内用户界面。为此,您应该使用 Unity 的主要基于游戏对象的UI 系统,该系统提供了一种基于游戏对象的方法来编辑和定位 UI 元素,并且具有更好的工具来处理 UI 的视觉设计和布局。
“即时模式”指的是创建和绘制 IMGUI 的方式。要创建 IMGUI 元素,您必须编写进入名为 OnGUI 的特殊函数的代码。显示界面的代码在每一帧都执行并绘制到屏幕上。除了附加 OnGUI 代码的对象或与视觉元素视觉树的节点,实例化或从 C# VisualElement
类派生。您可以设置外观,定义行为,并在屏幕上显示它作为 UI 的一部分。 更多信息
参见 术语表绘制相关的层次结构中的其他类型对象之外,没有持久游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、相机、路点等等。游戏对象的功能由附加到它的组件定义。 更多信息
参见 术语表。
IMGUI 允许您使用代码创建各种功能性 GUI。您无需创建游戏对象,手动定位它们,然后编写处理其功能的脚本,而只需使用几行代码即可完成所有操作。代码生成GUI 控件,这些控件通过单个函数调用绘制和处理。
本节说明如何在您的游戏中以及在 Unity 编辑器的扩展中使用 IMGUI。