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() 从未使用。

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

还见:

代码示例

This code sample is for a studio Plugin. The plugin creates a PluginToolbarButton which randomizes the BrickColor() of each selected part using BrickColor.random(). Furthermore, the button is only enabled if at least one part is selected. It does this by detecting changes in the Selection using Selection.SelectionChanged.

BrickColor Randomizer Plugin

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()

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)