PluginToolbarButton 是由 PluginToolbar:CreateButton() 函數創建的對象。它允許用戶在 Roblox Studio 中通過 Click 事件啟動單一、一次性的行動。
按一下時,Click 事件會發生。按鈕將在按下狀態下保留,這可以使用 SetActive 設定手關閉。 當
當遊戲視窗不可見時,按鈕將無法使用,因為它們的 Enabled 屬性是否為 false 而被禁用。無效的按鈕會被溫和化並且不會回應使用者的點擊。通過將 ClickableWhenViewportHidden 設置為
概要
屬性
決定要在遊戲視窗隱藏時是否能夠點擊按鈕,例如在不同的 Studio 標籤編輯腳本時。
決定按鈕是否在一般情況下可以按下。
決定哪個圖示代表按鈕。
屬性
ClickableWhenViewportHidden
點擊時可視窗隱藏時,是否按一下 Script 按鈕,如果在其他標籤中編輯 Class.Script 時, 決定 PluginToolbarButton 是否可以在 0> 隱藏視窗0> 中按一下。
一般來說,啟用此屬性通常會在執行由 Click 按鈕啟動的操作時發生,這些按鈕在遊戲世界中 (Workspace) 中不是可見的。例如,開啟啟動對話框的按鈕應該有此屬性,因為顯示對話框給使用者看起來即使遊戲視圖不可見。
Enabled
啟用 決定按鈕是否在一般情況下可以點擊。當此屬性為 false 時,按鈕會變為灰色,無法點擊,防止使用者發射 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
點擊 發生在用戶按下 PluginToolbarButton 並釋放時。
單擊一個插件按鈕會導致按鈕狀態的切換。 呼叫 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)