Ghi chú phát hành
Học
Lớp công cụ
PluginGui
Không Thể Tạo
Không Sao Chép

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


Tóm Tắt
Thuộc Tính
Thành viên kế thừa
Được kế thừa bởi

Tài Liệu Tham Khảo API
Thuộc Tính
Title
Đọc Song Song
Các khả năng: UI
PluginGui.Title:string

Phương Pháp
BindToClose
Các khả năng: UI
PluginGui:BindToClose(function:function):()
Tham Số
function:function
Giá Trị Mặc Định: "nil"
Lợi Nhuận
()

GetRelativeMousePosition
Bảo Mật Plugin
Các khả năng: UI
PluginGui:GetRelativeMousePosition():Vector2
Lợi Nhuận
Mẫu mã
PluginGui:LấyVịTríChuộtTươngĐối
local RunService = game:GetService("RunService")
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float,
true,
false, -- Trạng thái kích hoạt, ghi đè
200,
300, -- Kích thước
150,
150 -- Kích thước tối thiểu
)
local testWidget = plugin:CreateDockWidgetPluginGuiAsync("TestWidget", widgetInfo)
function update()
local v2 = testWidget:GetRelativeMousePosition()
testWidget.Title = ("(%d, %d)"):format(v2.x, v2.y)
end
RunService.Stepped:Connect(update)
update()

Sự Kiện
PluginDragDropped
Bảo Mật Plugin
Các khả năng: UI
PluginGui.PluginDragDropped(dragData:Dictionary):RBXScriptSignal
Tham Số
dragData:Dictionary
Mẫu mã
Tiện ích Kéo và Thả
assert(plugin, "Script này phải được chạy như một plugin trong Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Nguồn Kéo", widgetInfo)
dragSourceWidget.Title = "Nguồn Kéo"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Xin chào, kéo plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Chỉnh sửa văn bản ở trên, sau đó bắt đầu kéo ở đây"
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)
-- Widget này sẽ nhận drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Mục Tiêu Thả", widgetInfo)
dragTargetWidget.Title = "Mục Tiêu Thả"
-- TextLabel này sẽ hiển thị những gì đã được thả
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Thả ở đây..."
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)

PluginDragEntered
Bảo Mật Plugin
Các khả năng: UI
PluginGui.PluginDragEntered(dragData:Dictionary):RBXScriptSignal
Tham Số
dragData:Dictionary
Mẫu mã
Tiện ích Kéo và Thả
assert(plugin, "Script này phải được chạy như một plugin trong Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Nguồn Kéo", widgetInfo)
dragSourceWidget.Title = "Nguồn Kéo"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Xin chào, kéo plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Chỉnh sửa văn bản ở trên, sau đó bắt đầu kéo ở đây"
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)
-- Widget này sẽ nhận drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Mục Tiêu Thả", widgetInfo)
dragTargetWidget.Title = "Mục Tiêu Thả"
-- TextLabel này sẽ hiển thị những gì đã được thả
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Thả ở đây..."
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)

PluginDragLeft
Bảo Mật Plugin
Các khả năng: UI
PluginGui.PluginDragLeft(dragData:Dictionary):RBXScriptSignal
Tham Số
dragData:Dictionary
Mẫu mã
Tiện ích Kéo và Thả
assert(plugin, "Script này phải được chạy như một plugin trong Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Nguồn Kéo", widgetInfo)
dragSourceWidget.Title = "Nguồn Kéo"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Xin chào, kéo plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Chỉnh sửa văn bản ở trên, sau đó bắt đầu kéo ở đây"
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)
-- Widget này sẽ nhận drops
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Mục Tiêu Thả", widgetInfo)
dragTargetWidget.Title = "Mục Tiêu Thả"
-- TextLabel này sẽ hiển thị những gì đã được thả
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Thả ở đây..."
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)

PluginDragMoved
Bảo Mật Plugin
Các khả năng: UI
PluginGui.PluginDragMoved(dragData:Dictionary):RBXScriptSignal
Tham Số
dragData:Dictionary

WindowFocused
Bảo Mật Plugin
Các khả năng: UI
PluginGui.WindowFocused():RBXScriptSignal
Mẫu mã
Phát hiện Trạng thái Tập trung của PluginGui
local info = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 200, 50, 1, 1)
local widget = plugin:CreateDockWidgetPluginGuiAsync("TestWidget", info)
local function onFocusReleased()
widget.Title = "Tôi không đang được tập trung :("
end
local function onFocused()
widget.Title = "Tôi đang được tập trung :D"
end
widget.WindowFocusReleased:Connect(onFocusReleased)
widget.WindowFocused:Connect(onFocused)

WindowFocusReleased
Bảo Mật Plugin
Các khả năng: UI
PluginGui.WindowFocusReleased():RBXScriptSignal
Mẫu mã
Phát hiện Trạng thái Tập trung của PluginGui
local info = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 200, 50, 1, 1)
local widget = plugin:CreateDockWidgetPluginGuiAsync("TestWidget", info)
local function onFocusReleased()
widget.Title = "Tôi không đang được tập trung :("
end
local function onFocused()
widget.Title = "Tôi đang được tập trung :D"
end
widget.WindowFocusReleased:Connect(onFocusReleased)
widget.WindowFocused:Connect(onFocused)

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.