一个插件标签按钮是由 PluginToolbar:CreateButton() 函数创建的对象。它允许用户在 Roblox Studio 中通过 Click 事件启动单独的一次行动。
按下时,Click 事件触发。一个按钮也会在按下状态下保留,这可以通过使用 SetActive 来手动设关闭。 在插件激
当游戏视窗不可见时,按钮将被禁用,因为它们的 Enabled 属性如果是 false 会被禁用。禁用按钮是过度满意的,不会对用户单击响应。通过将 ClickableWhenViewportHidden 设置为 true ,您可以允许插件按钮保持为 (例如在脚本编辑
概要
属性
确定按钮在游戏视窗隐藏时是否可以点击,例如在不同的 Studio 标签中编辑脚本。
确定按钮是否在一通用情况下可以单击。
确定图标应该代表按钮。
属性
ClickableWhenViewportHidden
ClickableWhenViewportHidden 确定是否在游戏视窗隐藏时,插件托盘按钮可以单击,例如在另一个选项卡中编辑 Script 。
通常,此属性是启用 if 按钮的 Click 事件在游戏世界中不发生的好方法,因为显示按钮的 widget 对用户可见,即使游戏视图不可见。
Enabled
启用了 确定是否按钮在一通用情况下可以单击。 如果该属性为“否”,按钮将为灰色,无法单击,防止用户触发 Click 事件。 按钮是默认启用的。
当重新启用此属性时,插件按钮的状态不会从以前的状态中记住,在用户离开按钮的状态下,它将默认为 SetActive() 或在未使用状态下,如果 SetActive() 从未使用状态,它将始终保持在无效状态。
当按钮操作不相关时,插件应该禁用其按钮。例如,随机颜色分配到选定的插件按钮不应该被启用,当选择中没有部分时。请参阅代码示例获取更多信息。
还请参阅:
- ClickableWhenViewportHidden ,这取决于游戏视窗是否隐藏(并且不仅在一般情况通用)
代码示例
assert(plugin, "This script must be run as a plugin")
local Selection = game:GetService("Selection")
local toolbar = plugin:CreateToolbar("Parts")
local pluginToolbarButton = toolbar:CreateButton(
"Randomize Colors",
"Click this button to assign random colors to selected parts",
"rbxassetid://5325741572" -- A rainbow
)
local function onClick()
local selection = Selection:Get()
for _, object in pairs(selection) do
if object:IsA("BasePart") then
object.BrickColor = BrickColor.random()
end
end
end
pluginToolbarButton.Click:Connect(onClick)
local function doesSelectionContainAPart()
local selection = Selection:Get()
for _, object in pairs(selection) do
if object:IsA("BasePart") then
return true
end
end
return false
end
local function onSelectionChanged()
pluginToolbarButton.Enabled = doesSelectionContainAPart()
end
Selection.SelectionChanged:Connect(onSelectionChanged)
onSelectionChanged()
方法
活动
Click
点击 发生在用户按下插件工具栏按钮并释放时。
单击一个插件ToolbarButton会导致按钮的状态切换。 调用 SetActive 手动设置按钮的状态。
代码示例
assert(plugin, "This script must be run as a plugin")
local toolbar = plugin:CreateToolbar("Hello World Plugin Toolbar")
local pluginToolbarButton = toolbar:CreateButton(
"Print Hello World",
"Click this button to print Hello World!",
"rbxassetid://133293265"
)
local function onClick()
print("Hello, world")
end
pluginToolbarButton.Click:Connect(onClick)