Plugin

Hiển Thị Bản Đã Lỗi Thời

*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.

Không Thể Tạo

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.

Script - Pass the Plugin Global to a ModuleScript

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()
ModuleScript - Receive and Store the Plugin Global

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

  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Trả về xem người dùng có bật Collisions trong Studio dưới tab Mô hình không.

  • Bảo Mật Kịch Bản Roblox
    Đọc Song Song
  • Chỉ Đọc
    Không Sao Chép
    Đọc Song Song

    Trả về kích thước định vị lưới mà người dùng đã đặt trong Studio.

  • Bảo Mật Kịch Bản Roblox
    Đọc Song Song

Phương Pháp

  • Activate(exclusiveMouse : boolean):()
    Bảo Mật Plugin

    Đặ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
    Bảo Mật Plugin

    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 .

  • Bảo Mật Plugin

    Tạo một menu plugin mới.

  • Bảo Mật Plugin

    Tạo một cái mới PluginToolbar với tên đã cho.

  • Bảo Mật Plugin

    Vô hiệu hoá plugin.

  • Trả về Enum.JointCreationMode người dùng đã đặt trong Studio dưới tab Mô hình.

  • Bảo Mật Plugin

    Trả về một Mouse có thể được sử dụng trong khi plugin đang hoạt động.

  • Trả về Enum.RibbonTool.

  • GetSetting(key : string):Variant
    Bảo Mật Plugin

    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.

  • Intersect(objects : Instances):Instance
    Bảo Mật Plugin
  • Bảo Mật Plugin

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

  • Negate(objects : Instances):Instances
    Bảo Mật Plugin

    Phủ nhận các phần được cung cấp và trả về NegateOperations kết quả.

  • OpenScript(script : LuaSourceContainer,lineNumber : number):()
    Bảo Mật Plugin

    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.

  • Bảo Mật Plugin

    Mở cửa sổ trợ giúp ngữ cảnh lên trang wiki mà url liên kết.

  • Bảo Mật Plugin

    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.

  • SelectRibbonTool(tool : Enum.RibbonTool,position : UDim2):()
    Bảo Mật Plugin

    Kích hoạt công cụ Roblox Studio được chỉ định.

  • Separate(objects : Instances):Instances
    Bảo Mật Plugin

    Tách các UnionOperations đã đưa ra và trả lại các phần kết quả.

  • SetSetting(key : string,value : Variant):()
    Bảo Mật Plugin

    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.

  • StartDrag(dragData : Dictionary):()
    Bảo Mật Plugin

    Bắt đầu một hành động kéo được cung cấp một từ điển các tham số.

  • Union(objects : Instances):Instance
    Bảo Mật Plugin

    Kết hợp các phần được cho và trả về UnionOperation kết quả.

  • Sinh Lợi
    Bảo Mật Plugin

    Tạo một DockWidgetPluginGui được cung cấp một DockWidgetPluginGuiInfo .

  • Sinh Lợi
    Bảo Mật Plugin

    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 .

  • Sinh Lợi
    Bảo Mật Plugin

    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.

  • Sinh Lợi
    Bảo Mật Plugin

    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.

  • PromptSaveSelection(suggestedFileName : string):boolean
    Sinh Lợi
    Bảo Mật Plugin

    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

Thuộc Tính

CollisionEnabled

Chỉ Đọc
Không Sao Chép
Đọc Song Song

Trả về xem người dùng có bật Collisions trong Studio dưới tab Mô hình không.

DisableUIDragDetectorDrags

Bảo Mật Kịch Bản Roblox
Đọc Song Song

GridSize

Chỉ Đọc
Không Sao Chép
Đọc Song Song

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

Bảo Mật Kịch Bản Roblox
Đọc Song Song

Phương Pháp

Activate

()
Bảo Mật Plugin

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ố

exclusiveMouse: boolean

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

Giá Trị Mặc Định: ""

Lợi Nhuận

()

CreatePluginAction

Bảo Mật Plugin

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ố

actionId: string

Phải là một chuỗi duy nhất xác định PluginAction này từ những người khác.

Giá Trị Mặc Định: ""
text: string

Tên hiển thị của hành động.

Giá Trị Mặc Định: ""
statusTip: string

Mô tả hiển thị của hành động.

Giá Trị Mặc Định: ""
iconName: string

Tên biểu tượng được sử dụng để hiển thị plugin.

Giá Trị Mặc Định: ""
allowBinding: boolean

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.

Giá Trị Mặc Định: 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!.

Creating a PluginAction

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

Bảo Mật Plugin

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:

Tham Số

id: string

ID duy nhất cho menu.

Giá Trị Mặc Định: ""
title: string

Văn bản được hiển thị khi được sử dụng như một menu con.

Giá Trị Mặc Định: ""
icon: string

Biểu tượng được hiển thị khi được sử dụng như một menu con.

Giá Trị Mặc Định: ""

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.

Creating a PluginMenu and PluginMenuAction

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

Bảo Mật Plugin

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ố

name: string

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.

Giá Trị Mặc Định: ""

Lợi Nhuận

Mẫu mã

This code creates a toolbar with the name "ExampleToolbar".

Plugin:CreateToolbar

plugin:CreateToolbar("ExampleToolbar")

Deactivate

()
Bảo Mật Plugin

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

()
Bảo Mật Plugin

Trả về Enum.JointCreationMode người dùng đã đặt trong Studio dưới tab Mô hình.


Lợi Nhuận

GetMouse

Bảo Mật Plugin

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.

Plugin:GetMouse

local mouse = plugin:GetMouse()
local function button1Down()
print("Button 1 pressed from PluginMouse")
end
mouse.Button1Down:Connect(button1Down)

GetSelectedRibbonTool

Bảo Mật Plugin

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:GetSelectedRibbonTool

plugin:SelectRibbonTool(Enum.RibbonTool.Move, UDim2.new())
task.wait() -- wait for next frame
local selectedRibbonTool = plugin:GetSelectedRibbonTool()
print("The selected RibbonTool is", selectedRibbonTool)

GetSetting

Variant
Bảo Mật Plugin

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ố

key: string
Giá Trị Mặc Định: ""

Lợi Nhuận

Variant

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.

Plugin:GetSetting

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

Intersect

Bảo Mật Plugin

Tham Số

objects: Instances
Giá Trị Mặc Định: ""

Lợi Nhuận

IsActivated

Bảo Mật Plugin

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

Bảo Mật Plugin

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

Instances
Bảo Mật Plugin

Phủ nhận các phần được cung cấp và trả về NegateOperations kết quả.

Tham Số

objects: Instances
Giá Trị Mặc Định: ""

Lợi Nhuận

Instances

OpenScript

()
Bảo Mật Plugin

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ố

Giá Trị Mặc Định: ""
lineNumber: number
Giá Trị Mặc Định: 1

Lợi Nhuận

()

Mẫu mã

The following would open a newly created Script in Workspace, assuming the variable "Plugin" was already declared.

Plugin:OpenScript

local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)

OpenWikiPage

()
Bảo Mật Plugin

Mở cửa sổ trợ giúp ngữ cảnh lên trang wiki mà url liên kết.

Tham Số

url: string
Giá Trị Mặc Định: ""

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

plugin:OpenWikiPage("API:Class/BasePart")

SaveSelectedToRoblox

()
Bảo Mật Plugin

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

()
Bảo Mật Plugin

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ố

Giá Trị Mặc Định: ""
position: UDim2
Giá Trị Mặc Định: ""

Lợi Nhuận

()

Separate

Instances
Bảo Mật Plugin

Tách các UnionOperations đã đưa ra và trả lại các phần kết quả.

Tham Số

objects: Instances
Giá Trị Mặc Định: ""

Lợi Nhuận

Instances

SetSetting

()
Bảo Mật Plugin

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ố

key: string
Giá Trị Mặc Định: ""
value: Variant
Giá Trị Mặc Định: ""

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.

Plugin:GetSetting and Plugin:SetSetting

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ảo Mật Plugin

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ố

dragData: Dictionary
Giá Trị Mặc Định: ""

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".

Plugin Drag and Drop

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)
Bảo Mật Plugin

Kết hợp các phần được cho và trả về UnionOperation kết quả.

Tham Số

objects: Instances
Giá Trị Mặc Định: ""

Lợi Nhuận

CreateDockWidgetPluginGui

Sinh Lợi
Bảo Mật Plugin

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ố

pluginGuiId: string

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.

Giá Trị Mặc Định: ""
dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo

Mô tả DockWidgetPluginGui để tạo (trạng thái ban đầu, kích thước, v.v.).

Giá Trị Mặc Định: ""

Lợi Nhuận

Mẫu mã

This code, when ran inside a Plugin, creates a DockWidgetPluginGui with a simple TextButton.

Widget GUI Text Button

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

Sinh Lợi
Bảo Mật Plugin

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ố

rigModel: Instance
Giá Trị Mặc Định: ""
isR15: boolean
Giá Trị Mặc Định: true

Lợi Nhuận

ImportFbxRig

Sinh Lợi
Bảo Mật Plugin

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ố

isR15: boolean
Giá Trị Mặc Định: true

Lợi Nhuận

PromptForExistingAssetId

Sinh Lợi
Bảo Mật Plugin

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ố

assetType: string
Giá Trị Mặc Định: ""

Lợi Nhuận

PromptSaveSelection

Sinh Lợi
Bảo Mật Plugin

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.

Tham Số

suggestedFileName: string
Giá Trị Mặc Định: ""

Lợi Nhuận

Sự Kiện

Deactivation

Bảo Mật Plugin

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

Bảo Mật Plugin

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 , DockWidgetPluginGuisPluginGuis được tự động xóa sạch khi plugin được gỡ bỏ nên không cần phải xóa chúng.