Plugin
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Plugin là đối tượng chính có trách nhiệm tạo các widget Studio cơ bản, thanh công cụ plugin, nút plugin và nhiều hơn nữa.Nó là một add-on tùy chỉnh cho Studio thêm hành vi và tính năng mới không bình thường được bao gồm.Vật thể Plugin có thể truy cập thông qua tham chiếu toàn cầu plugin trong một Script được thực hiện như một plugin.
Mẫu mã
The plugin global reference is not passed to ModuleScripts within the plugin. In order to use it in a ModuleScript, you must explicitly pass it as seen in the example below.
assert(plugin, "This script must be run as a plugin!")
-- Code beyond this point will execute only if the script is run as a plugin
-- Load the module and pass the plugin reference
local pluginModule = require(script.Parent.PluginModule)
pluginModule:Initialize(plugin)
-- Verify if the plugin reference was initialized
pluginModule:CheckForPluginGlobal()
local pluginModule = {}
local plugin -- Local plugin reference
-- Initialize the plugin reference if not already set
function pluginModule:Initialize(pluginReference: Plugin)
if plugin ~= pluginReference then
plugin = pluginReference
else
error("Plugin is already initialized")
end
end
-- Check if the plugin reference is set and print out appropriate info
function pluginModule:CheckForPluginGlobal()
if plugin ~= nil then
print("Plugin reference is set!")
else
warn("Plugin reference is missing!")
end
end
return pluginModule
Tóm Tắt
Thuộc Tính
Trả về xem người dùng có bật Collisions trong Studio dưới tab Mô hình không.
Trả về kích thước định vị lưới mà người dùng đã đặt trong Studio.
Phương Pháp
Đặt trạng thái của plugin gọi để được kích hoạt.
- CreatePluginAction(actionId : string,text : string,statusTip : string,iconName : string,allowBinding : boolean):PluginAction
Tạo một PluginAction đó là một đối tượng đại diện cho một hành động có thể thực hiện chung trong Roblox Studio, không có trực tiếp liên quan Toolbar hoặc Enum.Button .
Tạo một menu plugin mới.
Tạo một cái mới PluginToolbar với tên đã cho.
Vô hiệu hoá plugin.
Trả về Enum.JointCreationMode người dùng đã đặt trong Studio dưới tab Mô hình.
Trả về một Mouse có thể được sử dụng trong khi plugin đang hoạt động.
Trả về Enum.RibbonTool.
Lấy một giá trị đã lưu trước đó với chìa khóa được cung cấp, hoặc nil nếu chìa khóa được cung cấp không tồn tại.
Trả về true nếu plugin này hiện đang hoạt động, sau khi đã được kích hoạt thông qua chức năng Plugin:Activate().
Trả về true nếu plugin này hiện đang hoạt động với một chuột độc quyền, sau khi đã được kích hoạt thông qua chức năng Plugin:Activate().
Phủ nhận các phần được cung cấp và trả về NegateOperations kết quả.
Dùng để mở ví dụ kịch bản được cho trong một cửa sổ biên tập, trong Roblox Studio, tại dòng được cho.Nếu không có dòng nào được cung cấp làm tham số, nó sẽ mặc định là 1.
Mở cửa sổ trợ giúp ngữ cảnh lên trang wiki mà url liên kết.
Mở một cửa sổ tải lên cho lựa chọn hiện tại của người dùng.
Kích hoạt công cụ Roblox Studio được chỉ định.
Tách các UnionOperations đã đưa ra và trả lại các phần kết quả.
Lưu một giá trị cho phép sử dụng sau này dưới chìa khóa đã cho. Giá trị sẽ tồn tại ngay cả sau khi Studio đã đóng.
Bắt đầu một hành động kéo được cung cấp một từ điển các tham số.
Kết hợp các phần được cho và trả về UnionOperation kết quả.
- CreateDockWidgetPluginGui(pluginGuiId : string,dockWidgetPluginGuiInfo : DockWidgetPluginGuiInfo):DockWidgetPluginGui
Tạo một DockWidgetPluginGui được cung cấp một DockWidgetPluginGuiInfo .
Yêu cầu người dùng mở một tập tin hoạt hình .fbx có thể được tải lên rigModel , sau đó tiến hành chèn hoạt hình như một KeyframeSequence trong Workspace .
Yêu cầu người dùng mở một tập tin .fbx, tải các thành phần riêng lẻ của mô hình dưới dạng khối lượng, và tạo một nhân vật cho việc sử dụng trong hoạt hiệu ứng động, được tải vào Workspace.
Mở một cửa sổ trong Roblox Studio, yêu cầu người dùng chọn một tài sản dựa trên assetType được định nghĩa.Trả về assetId nào đã được chọn, hoặc -1 nếu cửa sổ đã đóng.
Yêu cầu người dùng lưu lựa chọn hiện tại của họ với tên tập tin được chỉ định. Trả về true nếu người dùng đã lưu tập tin.
Sự Kiện
Bị sa thải khi plugin bị vô hiệu hóa.
Lửa bùng phát ngay lập tức trước khi Plugin dừng chạy.
Thuộc Tính
DisableUIDragDetectorDrags
GridSize
Trả về kích thước định vị lưới mà người dùng đã đặt trong Studio dưới tab Mô hình hoặc Avatar của thanh công cụ.Lưu ý rằng thuộc tính này có thể có sai sót làm tròn nhẹ; ví dụ, nó có thể là 0.0099999997764826 cho một cài đặt người dùng của 1 hoặc 0.4000000059604645 cho một cài đặt người dùng của 0.4.
IsDebuggable
Phương Pháp
Activate
Chức năng này đặt trạng thái của plugin gọi để được kích hoạt. Kích hoạt plugin cho phép điều khiển chuột thông qua phương pháp Plugin:GetMouse().
Vào bất kỳ thời điểm nào có 0 hoặc 1 Plugin được kích hoạt.Kích hoạt một plugin sẽ vô hiệu hóa tất cả các plugin khác (họ sẽ nhận được một sự kiện Plugin.Deactivation).
Xem thêm:
- Plugin:IsActivatedWithExclusiveMouse() , trả về true nếu plugin này hiện đang hoạt động với một chuột độc quyền, sau khi đã được kích hoạt thông qua chức năng này
- Plugin.Unloading , bắt lửa ngay lập tức trước khi plugin được gỡ bỏ hoặc tải lại thông qua việc gỡ cài đặt, vô hiệu hóa hoặc cập nhật
Tham Số
Một boolean xác định xem có bật kích hoạt plugin bằng chuột độc quyền hay không. Nếu đúng, một PluginMouse có thể được truy xuất thông qua Plugin:GetMouse() .
Lợi Nhuận
CreatePluginAction
Chức năng này tạo ra một PluginAction đó là một đối tượng đại diện cho một hành động có thể thực hiện chung trong Roblox Studio, không có liên quan trực tiếp Toolbar hoặc Enum.Button .Trong Roblox Studio, chúng có thể được gán phím tắt dưới File → Advanced → Customize Shortcuts… , và chúng cũng có thể được thêm vào Thanh công cụ Truy cập Nhanh.
Khi một hành động được kích hoạt, sự kiện PluginAction.Triggered được tín hiệu.
Để PluginActions hoạt động như mong đợi, chúng phải được tạo bằng cách sử dụng chức năng này.
Xem thêm:
- PluginMenu , một menu ngữ cảnh có thể được hiển thị trong Studio hiển thị danh sách các hành động Plugin và hỗ trợ các tiền thuỷ
- Plugin:CreatePluginMenu() , tạo một PluginMenu
Tham Số
Phải là một chuỗi duy nhất xác định PluginAction này từ những người khác.
Tên hiển thị của hành động.
Mô tả hiển thị của hành động.
Tên biểu tượng được sử dụng để hiển thị plugin.
Whether the PluginAction sẽ được ẩn khỏi tầm nhìn tắt của Studio. Hữu ích cho các hành động theo ngữ cảnh. Mặc định là true.
Lợi Nhuận
Mẫu mã
This code sample visualizes how to create a PluginAction. These must be created using the Plugin:CreatePluginAction() method in order to work.
In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.
When the created action is bound and Triggered, it outputs Hello world!.
local pluginAction = plugin:CreatePluginAction(
"HelloWorldAction",
"Hello World",
"Prints a 'Hello world!'",
"rbxasset://textures/sparkle.png",
true
)
pluginAction.Name = "Test Action"
local function actionTriggered()
print("Hello world!")
end
pluginAction.Triggered:Connect(actionTriggered)
CreatePluginMenu
Chức năng này tạo ra một cái mới PluginMenu , đó là một menu ngữ cảnh có thể được hiển thị trong Studio hiển thị danh sách PluginActions và hỗ trợ các menu con.
Để PluginMenus hoạt động như mong đợi, chúng phải được tạo bằng cách sử dụng chức năng này.
Xem thêm:
- PluginAction , một đối tượng đại diện cho một hành động có thể thực hiện chung trong Roblox Studio, không có trực tiếp liên quan Toolbar hoặc Enum.Button .
- Plugin:CreatePluginAction() , tạo một PluginAction
- PluginMenu.Title , văn bản sẽ được hiển thị khi sử dụng như một menu con
- PluginMenu.Icon , biểu tượng sẽ được hiển thị khi sử dụng như một menu con
- PluginMenu:AddAction() , thêm hành động được cho vào menu
- PluginMenu:AddNewAction() , tạo một hành động tạm thời được ẩn khỏi cửa sổ tùy chỉnh phím tắt của Studio
- PluginMenu:AddMenu() , thêm menu được cho là một ngăn cách
- PluginMenu:AddSeparator() , thêm một dấu phân cách giữa các mục trong menu
- PluginMenu:Clear() , xóa menu
- PluginMenu:ShowAsync() , hiển thị menu ở con trỏ chuột.Hiển thị cho đến khi một mục được chọn hoặc menu được đóng.Hành động được chọn kích hoạt sự kiện Triggered của nó
Tham Số
ID duy nhất cho menu.
Văn bản được hiển thị khi được sử dụng như một menu con.
Biểu tượng được hiển thị khi được sử dụng như một menu con.
Lợi Nhuận
Mẫu mã
This code sample visualizes how PluginMenus and PluginActions behave when created for a Plugin. Outside of this example, you should not parent the plugin or its functional components to the experience's workspace.
In order to work as expected, the code block must but pasted into the Command Bar, but only once. Consecutive attempts at executing the code in the Command Bar will result in an error because a plugin cannot create more than one PluginMenu with the same ID.
After executing the code, changing the created BoolValue in the experience's workspace opens the plugin's menus. Selecting an action from the menus the function connected to the trigger signal.
-- This code can be pasted into the command bar, but only once
local pluginMenu = plugin:CreatePluginMenu(math.random(), "Test Menu")
pluginMenu.Name = "Test Menu"
pluginMenu:AddNewAction("ActionA", "A", "rbxasset://textures/loading/robloxTiltRed.png")
pluginMenu:AddNewAction("ActionB", "B", "rbxasset://textures/loading/robloxTilt.png")
local subMenu = plugin:CreatePluginMenu(math.random(), "C", "rbxasset://textures/explosion.png")
subMenu.Name = "Sub Menu"
subMenu:AddNewAction("ActionD", "D", "rbxasset://textures/whiteCircle.png")
subMenu:AddNewAction("ActionE", "E", "rbxasset://textures/icon_ROBUX.png")
pluginMenu:AddMenu(subMenu)
pluginMenu:AddSeparator()
pluginMenu:AddNewAction("ActionF", "F", "rbxasset://textures/sparkle.png")
local toggle = Instance.new("BoolValue")
toggle.Name = "TogglePluginMenu"
toggle.Parent = workspace
local function onToggled()
if toggle.Value then
toggle.Value = false
local selectedAction = pluginMenu:ShowAsync()
if selectedAction then
print("Selected Action:", selectedAction.Text, "with ActionId:", selectedAction.ActionId)
else
print("User did not select an action!")
end
end
end
toggle.Changed:Connect(onToggled)
CreateToolbar
Chức năng Tạo trình biên tập tạo ra một cái mới PluginToolbar với tên đã cho. Thanh công cụ có thể được sử dụng để tạo nút plugin.
Tham Số
Văn bản hiển thị trên thanh công cụ, gắn nhãn nhóm các nút bên trong.
Lợi Nhuận
Mẫu mã
This code creates a toolbar with the name "ExampleToolbar".
plugin:CreateToolbar("ExampleToolbar")
Deactivate
Vô hiệu hóa plugin. Điều này sẽ ngắt kết nối PluginMouse nếu nó đã được kích hoạt
Xem thêm:
- Plugin:Activate() , thiết lập trạng thái của plugin gọi để được kích hoạt
- Plugin.Deactivation , bắt lửa khi plugin bị vô hiệu hóa
- Plugin.Unloading , bắt lửa ngay lập tức trước khi plugin được gỡ bỏ hoặc tải lại thông qua việc gỡ cài đặt, vô hiệu hóa hoặc cập nhật
Lợi Nhuận
GetMouse
Nhận chuột trả về một PluginMouse có thể được sử dụng trong khi plugin đang hoạt động thông qua Plugin:Activate() .
Lợi Nhuận
Mẫu mã
This code would print Button 1 pressed from PluginMouse each time the mouse's left button was clicked.
local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)
GetSelectedRibbonTool
GetSelectedRibbonTool trả về công cụ được chọn hiện tại Enum.RibbonTool .Nó trả về một Enum tương ứng với một công cụ cụ thể.Điều này sẽ trả về xem công cụ được chọn bằng tay hay thông qua chương trình bằng cách Plugin:SelectRibbonTool() .
Lợi Nhuận
Mẫu mã
This code must be run from a plugin. This code selects the move tool, checks which tool is selected, then prints out to the console which tool is selected. SelectRibbonTool will not return the value until the next frame.
plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- wait for next frame
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("The selected RibbonTool is", selectedRibbonTool)
GetSetting
Lấy một giá trị đã lưu trước đó với chìa khóa được cung cấp, hoặc nil nếu chìa khóa được cung cấp không tồn tại.
Bởi vì nhiều ví dụ của cùng một plugin có thể chạy cùng một lúc ( ví dụ, nếu nhiều cửa sổ Studio được mở), bạn không nên phụ thuộc vào giá trị này giữ nguyên trong thời gian dài.Các plugin khác có thể cập nhật cài đặt bất cứ lúc nào.
Cuộc gọi này có thể lặng lẽ thất bại và trả về nil nếu nhiều instânce của plugin tương tự đang đọc và viết dữ liệu chủ động.Nếu plugin của bạn mong đợi viết vào cài đặt thường xuyên, bạn nên kiểm tra lại giá trị trả về từ cuộc gọi này sau một thời gian ngắn để phân biệt giữa một cài đặt không có sẵn và một cài đặt không tồn tại.
Tham Số
Lợi Nhuận
Mẫu mã
The below example would print the value saved to the key FirstTime. If the key doesn't exist, it would print nil.
local RAN_BEFORE_KEY = "RanBefore"
local didRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if didRunBefore then
print("Welcome back!")
else
plugin:SetSetting(RAN_BEFORE_KEY, true)
print("Welcome! Thanks for installing this plugin!")
end
IsActivated
Chức năng này trả về true nếu plugin này hiện đang hoạt động, sau khi đã được kích hoạt thông qua chức năng Plugin:Activate().
Lợi Nhuận
Một boolean chỉ ra xem plugin hiện đang hoạt động hay không.
IsActivatedWithExclusiveMouse
Chức năng này trả về true nếu plugin này hiện đang hoạt động với một chuột độc quyền, sau khi đã được kích hoạt thông qua chức năng Plugin:Activate().Nếu điều này trả về true, một PluginMouse có thể được truy xuất thông qua Plugin:GetMouse() .
Xem thêm:
- Plugin.Deactivation , bắt lửa khi plugin bị vô hiệu hóa
- Plugin.Unloading , bắt lửa ngay lập tức trước khi plugin được gỡ bỏ hoặc tải lại thông qua việc gỡ cài đặt, vô hiệu hóa hoặc cập nhật
Lợi Nhuận
Liệu plugin này có hiện đang hoạt động với một chuột độc quyền không.
Negate
Phủ nhận các phần được cung cấp và trả về NegateOperations kết quả.
Tham Số
Lợi Nhuận
OpenScript
Dùng để mở ví dụ kịch bản được cho trong một cửa sổ biên tập, trong Roblox Studio, tại dòng được cho.Nếu không có dòng nào được cung cấp làm tham số, nó sẽ mặc định là 1.
Tham Số
Lợi Nhuận
Mẫu mã
The following would open a newly created Script in Workspace, assuming the variable "Plugin" was already declared.
local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)
OpenWikiPage
Mở cửa sổ trợ giúp ngữ cảnh lên trang wiki mà url liên kết.
Tham Số
Lợi Nhuận
Mẫu mã
The following, when executed in a plugin, will open the BasePart API page in the context help.
plugin:OpenWikiPage("API:Class/BasePart")
SaveSelectedToRoblox
Mở một cửa sổ tải lên cho lựa chọn hiện tại của người dùng.
Lợi Nhuận
SelectRibbonTool
Kích hoạt công cụ Roblox Studio được chỉ định. Nếu công cụ mở một cửa sổ, tham số vị trí chỉ ra vị trí nó nên được hiển thị trên màn hình.
Ghi chú:
- Một đối tượng phải được chọn để điều này hoạt động đúng.
- Thay đổi các trường thước đo của thuộc tính position sẽ không ảnh hưởng đến các bong bóng thoại.
Tham Số
Lợi Nhuận
Separate
Tách các UnionOperations đã đưa ra và trả lại các phần kết quả.
Tham Số
Lợi Nhuận
SetSetting
Lưu một giá trị cho phép sử dụng sau này dưới chìa khóa đã cho.Giá trị sẽ tồn tại ngay cả khi Roblox Studio đã đóng.Các cài đặt này được lưu trong định dạng JSON như một bản đồ với chìa khóa dây.Các mảng được chuyển đổi tự động thành bản đồ bằng cách chuyển đổi các phím số thành chuỗi trước.
Lưu ý rằng định dạng JSON áp đặt thêm các hạn chế, bao gồm các nhân vật sau đây có thể làm hỏng tập tin cài đặt:
- Backslashes ( \ ) trong các chìa khóa hoặc giá trị, đặc biệt là dấu ngoặc trống đã thoát ( \" ).
- Dòng mới ( \n ) trong các chìa khóa.
- Dấu ngoặc ( " ) trong các chìa khóa.
- Thời gian ( . ) trong các chìa khóa.
Cuộc gọi này có thể im lặng thất bại nếu nhiều instance của plugin tương tự đang đọc và viết dữ liệu chủ động.Nếu plugin của bạn mong đợi viết vào cài đặt thường xuyên, bạn có thể kiểm tra xem dữ liệu đã được viết đúng cách bằng cách gọi Plugin:GetSetting() .
Tham Số
Lợi Nhuận
Mẫu mã
This code sample demonstrates use of the Plugin:GetSetting() and Plugin:SetSetting() functions. They detect if a plugin is running for the first time by setting a key. If the key is true, it prints a "welcome back" message; otherwise it prints a "first run" message and sets the key to true.
local RAN_BEFORE_KEY = "RunBefore"
local hasRunBefore = plugin:GetSetting(RAN_BEFORE_KEY)
if hasRunBefore then
print("Welcome back!")
else
print("Thanks for installing this plugin!")
plugin:SetSetting(RAN_BEFORE_KEY, true)
end
StartDrag
Bắt đầu kéo khởi động một hành động kéo bằng một bảng các tham số. Các tham số như sau:
<th>Loại</th><th>Mặc định</th><th>Mô tả</th></tr></thead><tbody><tr><td><b>Người gửi</b></td><td>chuỗi</td><td><code>""</code> ></td><td>Xác định nguồn của hành động kéo đến mục tiêu thả</td></tr><tr><td><b>Loại Mime</b></td><td>chuỗi</td><td><code>""</code> ></td><td>Loại <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> của <b>Dữ liệu</b>.</td></tr><tr><td><b>Dữ liệu</b></td><td>chuỗi</td><td><code>""</code> ></td><td>Thông tin về hành động kéo, ví dụ những gì đang bị kéo. Nên được sử dụng bởi mục tiêu thả.</td></tr><tr><td><b>MouseIcon</b> ></td><td><code>Loại dữ liệu.Nội dung</code></td><td><code>""</code></td><td>Biểu tượng để sử dụng cho con trỏ chuột trong lúc kéo. Nếu trống, sử dụng con trỏ mặc định.</td></tr><tr><td><b>DragIcon</b> ></td><td><code>Loại dữ liệu.Nội dung</code></td><td><code>""</code></td><td>Một hình ảnh để hiển thị dưới con trỏ chuột trong lúc kéo. Điều này nên đại diện cho vật phẩm đang bị kéo.</td></tr><tr><td><b>Điểm nóng</b></td><td><code>Loại dữ liệu.Vector2</code> ></td><td><code>Loại dữ liệu.Vector2.new(0, 0)</code> ></td><td>Pixel bị trừ từ phía trên bên trái nơi con trỏ nên "giữ" <b>DragIcon</b>.</td></tr></tbody>
Tên |
---|
Xem thêm:
Tham Số
Lợi Nhuận
Mẫu mã
This code sample creates two plugin widget windows: a drag source and a drop target. In the source window, the script creates a TextBox and TextButton to allow the user to begin a plugin drag action. The drop target window will display the MimeType of whatever is dragged into it using a TextLabel. If the MimeType is text/plain, it will display the plain text data instead.
To run this code sample as a plugin, paste it into a Script. Then, right-click the script in the Explorer window and choose "Save as Local Plugin".
assert(plugin, "This script must be run as a Studio plugin")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGui("Drag Source", widgetInfo)
dragSourceWidget.Title = "Drag Source"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Hello, plugin drags"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edit the text above, then start drag here"
dragButton.Parent = dragSourceWidget
function onMouseButton1Down()
local dragData = {
Sender = "SomeDragSource",
MimeType = "text/plain",
Data = textBox.Text,
MouseIcon = "",
DragIcon = "",
HotSpot = Vector2.new(0, 0),
}
plugin:StartDrag(dragData)
end
dragButton.MouseButton1Down:Connect(onMouseButton1Down)
-- This widget will receive drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGui("Drop Target", widgetInfo)
dragTargetWidget.Title = "Drop Target"
-- This TextLabel will display what was dropped
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Drop here..."
textLabel.Parent = dragTargetWidget
local function onDragDrop(dragData)
if dragData.MimeType == "text/plain" then
textLabel.Text = dragData.Data
else
textLabel.Text = dragData.MimeType
end
end
dragTargetWidget.PluginDragDropped:Connect(onDragDrop)
dragTargetWidget.PluginDragEntered:Connect(function(_dragData)
print("PluginDragEntered")
end)
dragTargetWidget.PluginDragLeft:Connect(function(_dragData)
print("PluginDragLeft")
end)
dragTargetWidget.PluginDragMoved:Connect(function(_dragData)
print("PluginDragMoved")
end)
Union
Kết hợp các phần được cho và trả về UnionOperation kết quả.
Tham Số
Lợi Nhuận
CreateDockWidgetPluginGui
TạoDockWidgetPluginGui tạo một cái mới DockWidgetPluginGui từ đã cho DockWidgetPluginGuiInfo .Tham số đầu tiên, pluginGuiId , nên là một chuỗi duy nhất và nhất quán.Nó được sử dụng để lưu trạng thái của trạng thái dock của widget và các chi tiết nội bộ khác.
Tham Số
Một nhận dạng duy nhất và nhất quán được sử dụng để lưu trạng thái bến của widget và các chi tiết nội bộ khác.
Mô tả DockWidgetPluginGui để tạo (trạng thái ban đầu, kích thước, v.v.).
Lợi Nhuận
Mẫu mã
This code, when ran inside a Plugin, creates a DockWidgetPluginGui with a simple TextButton.
-- Create new 'DockWidgetPluginGuiInfo' object
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float, -- Widget will be initialized in floating panel
true, -- Widget will be initially enabled
false, -- Don't override the previous enabled state
200, -- Default width of the floating window
300, -- Default height of the floating window
150, -- Minimum width of the floating window (optional)
150 -- Minimum height of the floating window (optional)
)
-- Create new widget GUI
local testWidget = plugin:CreateDockWidgetPluginGui("TestWidget", widgetInfo)
local testButton = Instance.new("TextButton")
testButton.BorderSizePixel = 0
testButton.TextSize = 20
testButton.TextColor3 = Color3.new(1, 0.2, 0.4)
testButton.AnchorPoint = Vector2.new(0.5, 0.5)
testButton.Size = UDim2.new(1, 0, 1, 0)
testButton.Position = UDim2.new(0.5, 0, 0.5, 0)
testButton.SizeConstraint = Enum.SizeConstraint.RelativeYY
testButton.Text = "Click Me"
testButton.Parent = testWidget
ImportFbxAnimation
Chức năng này yêu cầu người dùng mở một tập tin hoạt hình .fbx có thể được tải lên rigModel , sau đó tiến hành chèn hoạt hình như một KeyframeSequence trong Workspace .
Tham Số
Lợi Nhuận
ImportFbxRig
Yêu cầu người dùng mở một tập tin .fbx, tải các thành phần riêng lẻ của mô hình dưới dạng khối lượng, và tạo một nhân vật cho việc sử dụng trong hoạt hiệu ứng động, được tải vào Workspace.
Tham Số
Lợi Nhuận
PromptForExistingAssetId
Mở một cửa sổ trong Roblox Studio, yêu cầu người dùng chọn một tài sản dựa trên assetType được định nghĩa.Trả về assetId nào đã được chọn, hoặc -1 nếu cửa sổ đã đóng.
Tham Số
Lợi Nhuận
Sự Kiện
Deactivation
Bị sa thải khi Plugin bị vô hiệu hóa.Điều này xảy ra khi mã plugin gọi Plugin:Deactivate() , hoặc vì một số plugin khác gọi Plugin:Activate() , khiến tất cả các plugin khác mất trạng thái hoạt động.
Xem thêm:
- Plugin.Unloading , bắt lửa ngay lập tức trước khi plugin được gỡ bỏ hoặc tải lại thông qua việc gỡ cài đặt, vô hiệu hóa hoặc cập nhật
Unloading
Sự kiện này bắt lửa ngay lập tức trước khi Plugin dừng chạy.Các plugin được gỡ bỏ khi bị vô hiệu hóa, bị gỡ bỏ, sắp được cập nhật hoặc khi nơi đó đang đóng cửa.
Nó cho phép một plugin dọn dẹp sau khi chính nó ngừng chạy, ví dụ:để xóa các ví dụ không cần thiết từ DataModel .Nếu một plugin không dọn sạch đúng cách, các bản sao cũ sẽ vẫn còn lại.Khi xảy ra, người dùng có thể bị buộc phải đóng và mở lại nơi mà là một trải nghiệm người dùng tồi.
Các ví dụ liên quan đến plugin như PluginToolbarButtons , DockWidgetPluginGuis và PluginGuis được tự động xóa sạch khi plugin được gỡ bỏ nên không cần phải xóa chúng.