GuiService

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

无法创建
服务
未复制

GuiService 允许开发人员控制游戏手柄导航器正在选择 GuiObject ,以及检查 Roblox 主菜单是否打开。

概要

属性

方法

活动

属性

AutoSelectGuiEnabled

读取并联

激活时,游戏手柄上的 Select 按钮或 Backslash 将自动将 GUI 设置为选定的对象。关闭此选项会使 GUI 导航仍然工作,但您必须手动设置 GuiService.GuiNavigationEnabled 才能启用 GUI 导航。

CoreGuiNavigationEnabled

隐藏
未复制
读取并联

切换是否使用 Gamepad 导航 CoreGui 中的对象。

GuiNavigationEnabled

读取并联

用于启用和禁用默认控制器GUI导航。

只读
未复制
读取并联

如果 CoreGui 菜单已打开,返回 true。

PreferredTextSize

只读
未复制
读取并联

PreferredTransparency

隐藏
只读
未复制
读取并联

将用户的首选透明度作为数字 0 和 1 之间的数字,这表示他们想要的 UI 元素的背景透明度更多。默认为 1。

代码示例

Use Preferred Transparency

local DEFAULT_TRANSPARENCY = 0.5
local frame = script.Parent
local function setBackgroundTransparency()
frame.BackgroundTransparency = DEFAULT_TRANSPARENCY * GuiService.PreferredTransparency
end
GuiService:GetPropertyChangedSignal("PreferredTransparency"):Connect(setBackgroundTransparency)
setBackgroundTransparency()

ReducedMotionEnabled

隐藏
只读
未复制
读取并联

如果用户启用了减少移动,返回 true 。默认为 false

此返回值反映可以从用户端在应用设置或体验设置菜单中设置的设置。值为 true 表示用户想要减少或完全移除移动效果和动画。

代码示例

Use Reduced Motion

local DEFAULT_TRANSPARENCY = 0.5
local frame = script.Parent
local endPosition = UDim2.fromScale(0.5, 0.8)
if GuiService.ReducedMotionEnabled then
frame.Position = endPosition
else
local moveTweenInfo = TweenInfo.new(0.5)
local moveTweenProps = {
Position = endPosition
}
local moveTween = TweenService:Create(frame, slideInTweenInfo, slideInTweenProps)
moveTween:Play()
end

SelectedObject

读取并联

GuiObject 设置为 GUI 导航器正在关注的当前焦点(用于游戏手柄)。如果对象处于屏幕外,这可能会重置为零。

这个属性是通过 GuiObject.SelectionGainedGuiObject.SelectionLost 事件改变的。

如果您想确定在选择中获得和选择丢失事件的全部GUI元素的选择时,您可以使用 Changed 事件。

代码示例

Printing When Gamepad Selection Changes

local GuiService = game:GetService("GuiService")
local function printChanged(value)
if value == "SelectedObject" then
print("The SelectedObject changed!")
end
end
GuiService.Changed:Connect(printChanged)

TopbarInset

只读
未复制
读取并联

返回一个 Rect 对象,代表在 Roblox 左侧控制和设备安全区边缘之间的空白区域。

值是动态的,可以预期会根据 UI 控件的可见性(例如更改本地玩家的 Health 属性、使用 StarterGui:SetCoreGuiEnabled() 和/或其他变更来变更。 因此,您建议使用 Object:GetPropertyChangedSignal()

代码示例

Responsive Frame Within Available Top Bar Space

local GuiService = game:GetService("GuiService")
local Players = game:GetService("Players")
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.Parent = Players.LocalPlayer.PlayerGui
local frame = Instance.new("Frame")
frame.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
frame.Parent = screenGui
GuiService:GetPropertyChangedSignal("TopbarInset"):Connect(function()
local inset = GuiService.TopbarInset
frame.Size = UDim2.new(0, inset.Width, 0, inset.Height)
frame.Position = UDim2.new(0, inset.Min.X, 0, inset.Min.Y)
end)

TouchControlsEnabled

读取并联

用于启用和禁用触摸控制和触摸控制显示 UI。默认为 true。

方法

CloseInspectMenu

void

此函数关闭 Inspect 菜单,如果打开,运行从 LocalScript

还请参阅:


返回

void

DismissNotification

参数

notificationId: string

返回

GetEmotesMenuOpen

返回一个Boolean,表示是否打开玩家表情菜单。

开发人员可以通过调用 GuiService:SetEmotesMenuOpen() 函数来打开或关闭表情菜单。


返回

指示是否打开表情菜单。

GetGameplayPausedNotificationEnabled

此函数返回是否禁用开发者的 gameplay paused 通知。

开发人员可以通过调用 GuiService:SetGameplayPausedNotificationEnabled() 函数来启用或禁用通知。

还请参阅:


返回

无论是否禁用了 gameplay paused 通知。

GetGuiInset

从屏幕左上角的角度返回两个 Vector2 值,分别代表屏幕左上角的用户GUI插入在像素中,从屏幕右上角的角度返回屏幕左上角的用户GUI插入在像素中。

这个函数提供的插入值仅对 ScreenGuis 有效,其 IgnoreGuiInset 属性设置为 false。


返回

描述当前指定 Gui 插入的两个 Vector2 值的示例。

GetInspectMenuEnabled

此函数返回是否启用检查和购买菜单功能。该功能默认为“GuiService:SetInspectMenuEnabled()”,可通过使用“Class.GuiService:SetInspectMenuEnabled()”函数启用。

还请参阅:


返回

一个指示是否启用检查菜单功能的Boolean。

InspectPlayerFromHumanoidDescription

void

此功能允许开发人员打开查看菜单,显示列在此 HumanoidDescription 对象的资产。

这允许玩家在查看其他玩家时在查看菜单中与玩家共用的内容进行进一步的自定义。如果您的游戏修改玩家穿戴的内容,您可以相反给查看菜单一个人形描述对象,该人形描述代表玩家穿戴的内容,并且这些项目将被显示。您还需要输入一个名称来代表玩家的名称,以便查看菜单中的其他玩家。

还请参阅:

参数

humanoidDescription: Instance

一个 HumanoidDescription 对象,该对象包含显示在检查菜单中的资产。

name: string

玩家的名称,被检查到显示在检查菜单中。


返回

void

代码示例

Opening an Inspect Menu with a HumanoidDescription

local GuiService = game:GetService("GuiService")
local humanoidDescription = Instance.new("HumanoidDescription")
humanoidDescription.HatAccessory = "3339374070"
humanoidDescription.BackAccessory = "3339363671"
GuiService:InspectPlayerFromHumanoidDescription(humanoidDescription, "MyPlayer")

InspectPlayerFromUserId

void

此功能允许检查菜单显示给予用户显示UserId。 这是特别有用,当你想要检查当前游戏中不在的玩家。

这表示与指定用户的个人资料上的“当前穿戴”选项卡上的相同的信息。

还请参阅:

参数

userId: number

玩家的 UserId 用于检查。


返回

void

代码示例

Opening the Inspect Menu for a UserId

local GuiService = game:GetService("GuiService")
GuiService:InspectPlayerFromUserId(772462)

IsTenFootInterface

返回 true 如果客户使用了“十英尺”界面,这是 Roblox 的 UI 的特殊版本,仅于控制器上使用。 这是唯一可以确保用户在控制器上或不在的方法。


返回

Select

void

当 Select 调用一个实例选择父亲是 PlayerGui 或 PlayerGui 的后代,引擎会搜索所有可用的、可见的和在屏幕上的 GuiObjects ,它们是选择父亲的后代,并将 GuiService.SelectedObject 设置为最小 GuiService.SelectionOrder

参数

selectionParent: Instance

搜索到子代的选择父亲。


返回

void

代码示例

Use Preferred Transparency

local DEFAULT_TRANSPARENCY = 0.5
local frame = script.Parent
local function setBackgroundTransparency()
frame.BackgroundTransparency = DEFAULT_TRANSPARENCY * GuiService.PreferredTransparency
end
GuiService:GetPropertyChangedSignal("PreferredTransparency"):Connect(setBackgroundTransparency)
setBackgroundTransparency()

SendNotification

参数

notificationInfo: Dictionary

返回

SetEmotesMenuOpen

void

打开或关闭玩家表情菜单。

参数

isOpen: bool

返回

void

SetGameplayPausedNotificationEnabled

void

此方法允许开发人员在玩家游戏暂停时禁用内置通知。然后,如果他们愿意自定义它,他们可以添加自己的 UI 。

开发人员可以调用 GuiService:GetGameplayPausedNotificationEnabled() 函数,以查看是否启用通知。

还请参阅:

参数

enabled: bool

是否启用内置通知图形用户界面。


返回

void

SetInspectMenuEnabled

void

此功能允许开发人员启用或禁用默认的检查和购买功能。 这是有助于您想要在您的游戏中禁用该功能的时候的。 该功能默认启用。

下面的代码示例显示了如何为您的游戏禁用检查菜单:


local GuiService = game:GetService("GuiService")
GuiService:SetInspectMenuEnabled(false)

还请参阅:

参数

enabled: bool

一个指示是否启用或禁用检查菜单精选能的Boolean。


返回

void

活动

当用户 关闭 Roblox 核心GUI逃生菜单时,它会发生。


当用户 打开 Roblox 核心图形用户界面逃生菜单时,火焰会发生。