包含此页的版本:
不含此页的版本:
Unity 将 UXML 文件表示为VisualTreeAsset对象,并将 USS 文件表示为StyleSheetC# 中的对象。 因为VisualTreeAsset和StyleSheet是常规的 Unity 资源,您可以使用 Unity 的标准工作流程来加载它们。
Unity 自动检测 C# 中的字段脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表类型为VisualTreeAsset或StyleSheet. 您可以使用检查器一个Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表以设置对项目中导入的特定 UXML 或 USS 文件的引用。即使资产在项目中的位置发生变化,此类引用仍然有效。
在脚本中使用它的方法有三种:
| 描述 | 如何显示检查器 | 参考保存位置 |
|---|---|---|
自定义脚本的实例(例如MonoBehaviour) |
选择游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息 请参阅术语表保存脚本的实例 |
在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您可以放置环境、障碍物和装饰,实质上是分批设计和构建游戏。更多信息 请参阅术语表 |
派生自EditorWindow或Editor
|
在项目浏览器中选择实际的 C# 文件 | 在与脚本关联的元文件中 |
项目中派生自ScriptableObject
|
在项目浏览器中选择资产 | 资产本身的序列化数据内部 |
注意:默认引用适用于派生自MonoBehaviour或ScriptableObject. 它提供了一种填充脚本序列化字段的默认值的方法。
以下示例MonoBehaviour类从 Inspector 接收 UXML 文件和 USS 文件列表:
using UnityEngine;
using UnityEngine.UIElements;
public class MyBehaviour : MonoBehaviour
{
// Note that public fields are automatically exposed in the Inspector
public VisualTreeAsset mainUI;
[Reorderable]
public StyleSheet[] seasonalThemes;
}
以下示例EditorWindow类从 Inspector 接收默认引用:
using UnityEditor;
using UnityEngine.UIElements;
public class MyWindow : EditorWindow
{
[SerializeField]
private VisualTreeAsset uxml;
[SerializeField]
private StyleSheet uss;
}
你可以按路径或 GUID 加载 UI 资产,并使用AssetDatabase类。
以下示例演示如何按路径定位资产:
VisualTreeAsset uxml = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/Editor/main_window.uxml");
StyleSheet uss = AssetDatabase.LoadAssetAtPath<StyleSheet>("Assets/Editor/main_styles.uss");
以下示例显示了如何按包中的路径查找资产:
VisualTreeAsset uxml = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Packages/<name-of-the-package>/main_window.uxml");
StyleSheet uss = AssetDatabase.LoadAssetAtPath<StyleSheet>("Packages/<name-of-the-package>/main_styles.uss");
Addressables系统提供了用于组织和打包应用程序内容的工具和脚本,以及用于在运行时加载和释放资产的API。
你可以将UXML和USS资产与可寻址系统一起使用。
有关如何为 Unity 中的任何资产设置可寻址对象的信息,请参阅可寻址对象入门。
如果您添加Resources文件夹,并将UI资源放入其中,则可以使用Resources.Load加载资产的方法。
以下示例演示如何在Resources文件夹:
VisualTreeAsset uxml = Resources.Load<VisualTreeAsset>("main_window");
StyleSheet uss = Resources.Load<StyleSheet>("main_styles");
注意:此方法会显着增加最终构建大小。如果您关心构建大小,请使用Addressables相反。