GuiButtons 是 GuiObjects,允许玩家执行一个动作。您可以自定义这些按钮以提供上下文和反馈,例如在玩家与按钮交互时更改视觉外观或 脚本 可听反馈。
TextButton 是一个带有文本的矩形,点击/触摸时触发 Activated 和/或 SecondaryActivated 事件。
ImageButton 是一个带有图像的矩形,点击/触摸时触发 Activated 和/或 SecondaryActivated 事件。它具有额外的状态,用于在玩家悬停或按压时更换图像。
屏幕上的按钮
屏幕上的按钮 在屏幕上 对快速引导玩家到各种菜单或页面非常有用。要添加这种类型的按钮:
在 资源管理器 窗口中,将鼠标悬停在 StarterGui 上,点击 ⊕ 按钮,并插入一个 ScreenGui。
将鼠标悬停在新的 ScreenGui 上,点击 ⊕ 按钮,并插入一个 TextButton 或 ImageButton。

部件面上的按钮
部件上的按钮对于允许玩家与部件交互非常有用。例如,您可以让玩家踩在按钮上以完成一个动作。
要将按钮添加到部件的面上:
在 资源管理器 窗口中,将鼠标悬停在 部件 上,点击 ⊕ 按钮,并插入一个 SurfaceGui。
按钮外观
TextButton 和 ImageButton 都继承自 GuiObject,它包含诸如 BackgroundColor3、Rotation 和 Size 等属性。按钮还接受大多数 UI 对象通用的 外观修饰符。
TextButton 独有的属性可以更改其视觉外观:
- FontFace — 用于渲染文本的字体。
- Text — 在按钮上渲染的文本字符串。
- TextSize — 文本的行高,以偏移量表示。
- TextColor3 — 渲染文本的颜色。
ImageButton 具有多个属性来更改其视觉外观,包括悬停和按压图像变体,以指示玩家与按钮的交互:
- Image — 当玩家未与 ImageButton 交互时显示的图像。
- HoverImage — 当玩家将光标悬停在 ImageButton 上时显示的图像。
- PressedImage — 当玩家点击/触摸 ImageButton 时显示的图像。



脚本按钮
您可以通过将按钮连接到 GuiButton.Activated 事件,或连接到 GuiButton.SecondaryActivated 以实现跨平台的次要输入(如桌面上的右键单击和移动设备上的长按),来脚本化玩家按下按钮时的动作。例如,当您将以下 LocalScript 作为按钮的子项时,每当玩家点击/触摸它时,按钮会变成随机颜色。
local button = script.Parent
local RNG = Random.new()
local function onButtonActivated()
-- 随机化按钮颜色
button.BackgroundColor3 = Color3.fromHSV(RNG:NextNumber(), 1, 1)
end
button.Activated:Connect(onButtonActivated)