Pelajari
Kelas Engine
PluginGui
Tidak Dapat Dibuat
Tidak Direplikasi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.


Rangkuman
Properti
Anggota yang Diwariskan
Diwariskan oleh

Referensi API
Properti
Title
Baca Paralel
Kemampuan: UI
PluginGui.Title:string

Metode
BindToClose
Kemampuan: UI
PluginGui:BindToClose(function:function):()
Parameter
function:function
Nilai Default: "nil"
Memberikan nilai
()

GetRelativeMousePosition
Keamanan Plugin
Kemampuan: UI
PluginGui:GetRelativeMousePosition():Vector2
Memberikan nilai
Contoh Kode
PluginGui:GetRelativeMousePosition
local RunService = game:GetService("RunService")
local widgetInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float,
true,
false, -- Status aktif, override
200,
300, -- Ukuran
150,
150 -- Ukuran minimum
)
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()

Acara
PluginDragDropped
Keamanan Plugin
Kemampuan: UI
PluginGui.PluginDragDropped(dragData:Dictionary):RBXScriptSignal
Parameter
dragData:Dictionary
Contoh Kode
Plugin Seret dan Jatuhkan
assert(plugin, "Skrip ini harus dijalankan sebagai plugin Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Sumber Seret", widgetInfo)
dragSourceWidget.Title = "Sumber Seret"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Halo, seret plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edit teks di atas, lalu mulai seret di sini"
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 ini akan menerima drop
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Target Drop", widgetInfo)
dragTargetWidget.Title = "Target Drop"
-- TextLabel ini akan menampilkan apa yang dijatuhkan
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Jatuhkan di sini..."
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
Keamanan Plugin
Kemampuan: UI
PluginGui.PluginDragEntered(dragData:Dictionary):RBXScriptSignal
Parameter
dragData:Dictionary
Contoh Kode
Plugin Seret dan Jatuhkan
assert(plugin, "Skrip ini harus dijalankan sebagai plugin Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Sumber Seret", widgetInfo)
dragSourceWidget.Title = "Sumber Seret"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Halo, seret plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edit teks di atas, lalu mulai seret di sini"
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 ini akan menerima drop
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Target Drop", widgetInfo)
dragTargetWidget.Title = "Target Drop"
-- TextLabel ini akan menampilkan apa yang dijatuhkan
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Jatuhkan di sini..."
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
Keamanan Plugin
Kemampuan: UI
PluginGui.PluginDragLeft(dragData:Dictionary):RBXScriptSignal
Parameter
dragData:Dictionary
Contoh Kode
Plugin Seret dan Jatuhkan
assert(plugin, "Skrip ini harus dijalankan sebagai plugin Studio")
local widgetInfo = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 300, 200)
local dragSourceWidget = plugin:CreateDockWidgetPluginGuiAsync("Sumber Seret", widgetInfo)
dragSourceWidget.Title = "Sumber Seret"
local textBox = Instance.new("TextBox")
textBox.Parent = dragSourceWidget
textBox.Size = UDim2.new(1, 0, 0, 32)
textBox.Text = "Halo, seret plugin"
local dragButton = Instance.new("TextButton")
dragButton.Size = UDim2.new(1, 0, 1, -32)
dragButton.Position = UDim2.new(0, 0, 0, 32)
dragButton.Text = "Edit teks di atas, lalu mulai seret di sini"
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 ini akan menerima drop
local dragTargetWidget = plugin:CreateDockWidgetPluginGuiAsync("Target Drop", widgetInfo)
dragTargetWidget.Title = "Target Drop"
-- TextLabel ini akan menampilkan apa yang dijatuhkan
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "Jatuhkan di sini..."
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
Keamanan Plugin
Kemampuan: UI
PluginGui.PluginDragMoved(dragData:Dictionary):RBXScriptSignal
Parameter
dragData:Dictionary

WindowFocused
Keamanan Plugin
Kemampuan: UI
PluginGui.WindowFocused():RBXScriptSignal
Contoh Kode
Mendeteksi Status Fokus PluginGui
local info = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 200, 50, 1, 1)
local widget = plugin:CreateDockWidgetPluginGuiAsync("WidgetUji", info)
local function onFocusReleased()
widget.Title = "Saya tidak dalam fokus :("
end
local function onFocused()
widget.Title = "Saya dalam fokus :D"
end
widget.WindowFocusReleased:Connect(onFocusReleased)
widget.WindowFocused:Connect(onFocused)

WindowFocusReleased
Keamanan Plugin
Kemampuan: UI
PluginGui.WindowFocusReleased():RBXScriptSignal
Contoh Kode
Mendeteksi Status Fokus PluginGui
local info = DockWidgetPluginGuiInfo.new(Enum.InitialDockState.Float, true, true, 200, 50, 1, 1)
local widget = plugin:CreateDockWidgetPluginGuiAsync("WidgetUji", info)
local function onFocusReleased()
widget.Title = "Saya tidak dalam fokus :("
end
local function onFocused()
widget.Title = "Saya dalam fokus :D"
end
widget.WindowFocusReleased:Connect(onFocusReleased)
widget.WindowFocused:Connect(onFocused)

©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.