将 UI 添加到场景
入门 美术 设计师
创建 UI 页面后,将其作为组件添加到场景中的实体上。
在场景编辑器中,创建一个空实体。为此,请右键单击场景并选择空实体(Empty entity)。

在属性网格(默认位于右侧)中,单击添加组件并选择 UI。

Game Studio 会向实体添加一个 UI 组件。

在 Page 旁边,单击
(选择资产)。**选择资产(Select an asset)**窗口随即打开。

选择要添加的 UI 页面,然后单击确定。
有关如何创建和编辑 UI 页面的信息,请参阅 UI 编辑器页面。
Tip
若要阻止 UI 在编辑器中遮挡场景的其他部分,请在属性网格中禁用 UI 组件。
运行游戏前请记得重新启用该组件。否则,Stride 不会显示 UI。
在代码中将 UI 页面指定给 UI 页面组件
你可以将 UI 页面指定给 UI 组件的 Page 属性。
// 该属性可以在 Game Studio 中通过 UI 页面资产进行指定
public UIPage MyPage { get; set; }
protected override void LoadScene()
{
InitializeUI();
}
public void InitializeUI()
{
var rootElement = MyPage.RootElement;
// 要在 UI 页面中查找特定元素,可以使用扩展方法
var button = rootElement.FindVisualChildOfType<Button>("buttonOk");
// 如果 UI 树中不存在名为 "buttonOk" 的元素,或者类型不匹配,
// 上面的方法将返回 null
if (button != null)
{
// 将委托附加到 Click 事件
button.Click += delegate
{
// 在这里做些什么……
};
}
// 将页面指定给 UI 组件
var uiComponent = Entity.Get<UIComponent>();
uiComponent.Page = MyPage;
}
UI 组件属性
| 属性 | 说明 |
|---|---|
| Page | 组件显示的 UI 页面 |
| Sampler | 纹理采样方法:点(最近邻)、线性(默认选项)或各向异性 |
| Full screen | 注意: 我们建议你使用此选项,因为其他方式存在问题 |
| Resolution | UI 分辨率(以像素为单位) |
| Size | 获取或设置 UI 组件在世界单位中的实际大小 |
| Resolution stretch | 虚拟分辨率值的使用方式(FixedWithFixedHeight、FixedWithAdaptableHeight 或 FixedHeightAdaptableWidth) |
| Billboard | 如果选中,UI 始终面向摄像机。注意: 在当前版本的 Stride 中,禁用广告牌模式会导致 UI 文本错误 |
| Snap text | 如果选中,UI 文本将对齐到最接近的像素 |
| Fixed size | 获取或设置指示 UI 是否应始终在屏幕上保持固定大小的值(例如,高度为 1 的组件将使用屏幕的 0.1)。注意: 此功能在当前版本的 Stride 中不起作用 |
| Render group | UI 使用的渲染组 |
UI 脚本
要使 UI 具有交互性,需要添加脚本。没有脚本时,UI 只是不可交互的图像。
有关在 Stride 中实现 UI 的示例,请参阅 Stride 附带的游戏菜单 UI 示例。

