PluginToolbarButton
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ปุ่ม PluginToolbar เป็นวัตถุที่สร้างโดยฟังก์ชัน PluginToolbar:CreateButton()ช่วยให้ผู้ใช้สามารถเริ่มการดำเนินการเดียวครั้งเดียวใน Roblox Studio ผ่านเหตุการณ์ Click
เมื่อกด การเหตุการณ์ Click จะเกิดขึ้นปุ่มจะยังคงอยู่ในสถานะกดไว้ ซึ่งสามารถตั้งค่าได้ด้วยตนเองโดยใช้ SetActiveเมื่อเปิดใช้งานปลั๊กอิน ( Plugin:Activate() ) ปุ่มในส่วนอื่น ๆ ทั้งหมดจะถูกปิดออก ( PluginToolbars )หากปุ่มทั้งหมดในแถบเครื่องมือถูกปิดใช้งานแล้ว ปลั๊กอินของแถบเครื่องมือจะถูกปิดใช้งาน ( Plugin:Deactivate() )
เมื่อมุมมองของเกมไม่สามารถมองเห็นได้ ปุ่มจะถูกปิดใช้งานเหมือนกับว่าคุณสมบัติ Enabled ของพวกเขาเป็นเท็จปุ่มที่ถูกปิดใช้งานจะถูกทำให้เสียสีและไม่ตอบสนองต่อการคลิกของผู้ใช้โดยการตั้งค่า ClickableWhenViewportHidden เป็นจริง คุณสามารถอนุญาตให้ปุ่มปลั๊กอินยังคงสามารถคลิกได้ (เช่นในระหว่างการแก้ไขสคริปต์)
สรุป
คุณสมบัติ
กำหนดว่าปุ่มสามารถคลิกได้เมื่อมุมมองเกมถูกซ่อน เช่น ในขณะที่กำลังแก้ไขสคริปต์ในแท็บสตูดิโอที่แตกต่างกัน
กำหนดว่าปุ่มสามารถคลิกได้ทั่วไปหรือไม่
กำหนดไอคอนที่ควรแทนที่ปุ่มได้
วิธีการ
ตั้งสถานะของปุ่มปลั๊กอิน
อีเวนต์
เกิดไฟไหม้เมื่อผู้ใช้กดและปล่อยเคอร์เซอร์บนปุ่ม
คุณสมบัติ
ClickableWhenViewportHidden
คลิกได้เมื่อมุมมองที่ซ่อนอยู่ถูกเปิดเผย กำหนดว่า PluginToolbarButton สามารถคลิกได้หรือไม่เมื่อมุมมองของเกมถูกซ่อนไว้ เช่น เมื่อกําลังแก้ไข Script ในแท็บอื่น
โดยปกติแล้วคุณสมบัตินี้เป็นสิ่งที่ดีที่จะเปิดใช้งานหากการดำเนินการที่เกิดจากเหตุการณ์ของปุ่มปลั๊กอิน Click ไม่เกิดขึ้นในโลกเกม (พื้นที่ทำงาน)ตัวอย่างเช่น ปุ่มที่เปิดวิดเจ็ตควรมีคุณสมบัตินี้เป็นจริงเนื่องจากการแสดงวิดเจ็ตจะเห็นได้สำหรับผู้ใช้แม้ว่ามุมมองเกมจะไม่เห็นได้ก็ตาม
Enabled
เปิดใช้งาน กำหนดว่าปุ่มจะคลิกได้ทั่วไปหรือไม่เมื่อคุณสมบัตินี้เป็นเท็จปุ่มจะถูกเปลี่ยนเป็นสีเทาและไม่สามารถคลิกได้ป้องกันไม่ให้ผู้ใช้ยิงเหตุการณ์ Clickปุ่มเปิดใช้งานโดยค่าเริ่มต้น
เมื่อเปิดใช้งานคุณสมบัตินี้อีกครั้ง สถานะปุ่มปลั๊กอินจะไม่ถูกจดจำจากสถานะก่อนหน้าที่ผู้ใช้ออกปุ่มในแทนที่จะเป็นไปตามสถานะสุดท้ายที่กำหนดโดย SetActive() หรือสถานะไม่ได้ใช้งานถ้า SetActive() ไม่เคยถูกใช้
ปลั๊กอินควรปิดใช้งานปุ่มเมื่อการดำเนินการปุ่มไม่เกี่ยวข้องในบริบทปัจจุบันตัวอย่างเช่น ปุ่มปลั๊กอินที่กำหนดสีสุ่มให้กับสิ่งที่เลือกไม่ควรเปิดใช้งานเมื่อการเลือกไม่มีส่วนใดๆดูตัวอย่างโค้ดสำหรับข้อมูลเพิ่มเติม
ดูเพิ่ม:
- ClickableWhenViewportHidden ซึ่งกำหนดว่าปุ่มจะคลิกได้เมื่อมุมมองเกมถูกซ่อน (ท่ัวไป)
ตัวอย่างโค้ด
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.
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
ไอคอน กำหนดสิ่งที่ icon ตั้งค่าปุ่มจะใช้ข้อความปุ่มที่ให้โดย PluginToolbar:CreateButton() แทน
วิธีการ
อีเวนต์
Click
คลิก ไฟเมื่อปุ่ม PluginToolbarButton ถูกกดและปล่อยโดยผู้ใช้
การคลิกปุ่ม PluginToolbar ทําให้สถานะของปุ่มเปลี่ยนไป โทร 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.
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)