PluginToolbarButton

显示已弃用

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

无法创建

插件工具栏按钮是由 PluginToolbar:CreateButton() 函数创建的对象。它允许用户通过 Click 事件启动 Roblox Studio 中的单次、一次性行动。

按下时,Click事件发生。按钮也会保持在按下状态,可以通过 SetActive 手动设置。在插件激活后(Plugin:Activate() ),所有其他PluginToolbars按钮将被关闭。如果工具栏中的所有按钮都关闭,工具栏的插件将被禁用(Plugin:Deactivate())。

当游戏窗口不可见时,按钮将被禁用,如果其 Enabled 属性为空,就像它们的属性为空一样。禁用按钮会被淡化,无法回应用户单击。通过将 ClickableWhenViewportHidden 设置为真值,您可以允许插件按钮仍然可以单击(例如在脚本编辑期间)。

概要

属性

  • 决定按钮在游戏窗口隐藏时是否可以单击,例如在不同的工作室选项卡中编辑脚本时。

  • 未复制
    读取并联

    决定按钮在一通用情况下是否可点击。

  • Icon:ContentId
    未复制
    读取并联

    决定哪个图标应该代表按钮。

方法

活动

属性

ClickableWhenViewportHidden

未复制
读取并联

点击时隐藏视窗时 确定是否可以单击插件工具栏按钮,例如当在另一选项卡中编辑 Script 时,游戏视窗隐藏。

通常,启用此属性可以确保如果插件按钮的 Click 事件触发的行动在游戏世界 (工作区) 中没有发生,从而避免资源浪费。例如,打开 widget 的按钮应该具有此属性为真,因为即使游戏视图不可见,用户也可以看到 widget 。

Enabled

未复制
读取并联

启用 决定是否在一通用情况下按钮可点击。当此属性为 false 时,按钮将被灰色并且无法单击,阻止用户发射 Click 事件。默认情况下,按钮已启用。

重新启用此属性时,插件按钮的状态不会从用户离开按钮所在状态中记住。相反,它将默认为由 SetActive() 设置的最后状态或不活跃状态,如果 SetActive() 从未使用。

插件应在按钮操作不相关时禁用按钮。例如,将随机颜色分配给选择的插件按钮不应在选择中没有零件时启用。查看代码示例以获取更多信息。

还见:

代码示例

这个代码示例是为工作室 Plugin 。插件创建一个 PluginToolbarButton ,使每个选择的部分的 BrickColor() 随机使用 BrickColor.random() 。此外,按钮只有在至少选择一部分时才启用。它通过检测 Selection 使用 Selection.SelectionChanged 中的变化来实现这一目标。

砖块颜色随机器插件

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" -- 彩虹
)
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()

Icon

ContentId
未复制
读取并联

图标 决定了 icon 在插件工具栏中应显示什么。当此属性未设置时,按钮将使用按钮的文本由 PluginToolbar:CreateButton() 提供。

方法

SetActive

()
插件安全性

该方法可用于手动设置插件按钮的激活状态。

Enabled 属性被切换回来时,按钮将恢复到由此方法设置的最后状态或默认为不活跃,如果此方法之前未使用。

参数

active: boolean
默认值:""

返回

()

活动

Click

插件安全性

单击 发生当用户按下并释放插件工具按钮时。

单击插件工具栏按钮会导致按钮状态切换。调用 SetActive 手动设置按钮状态。


代码示例

This code sample demonstrates creating a PluginToolbar and a PluginToolbarButton on it, then connecting a function onClick to the PluginToolbarButton.Click event. When pressed, the button will print "Hello, world" to the output.

PluginToolbarButton.Click

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)