Plugin
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Plugin adalah objek utama yang bertanggung jawab untuk membuat widget Studio dasar, toolbar plugin, tombol plugin, dan banyak lagi.Ini adalah add-on khusus untuk Studio yang menambahkan perilaku dan fitur baru yang tidak biasanya termasuk.Objek Plugin dapat diakses melalui referensi global plugin di dalam Script yang dieksekusi sebagai plugin.
Contoh Kode
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
Rangkuman
Properti
Kembalikan apakah pengguna mengaktifkan Collisions di Studio di bawah tab Model.
Kembalikan ukuran geseran grid yang telah ditetapkan pengguna di Studio.
Metode
Tetapkan status plugin panggil ke aktif.
- CreatePluginAction(actionId : string,text : string,statusTip : string,iconName : string,allowBinding : boolean):PluginAction
Membuat PluginAction yang merupakan objek yang mewakili tindakan umum yang dapat dilakukan di Roblox Studio, tanpa terkait langsung Toolbar atau Enum.Button .
Membuat menu plugin baru.
Membuat baru PluginToolbar dengan nama yang diberikan.
Nonaktifkan plugin.
Kembalikan Enum.JointCreationMode pengguna telah atur di Studio di bawah tab Model.
Kembalikan Mouse yang dapat digunakan saat plugin aktif.
Kembalikan yang saat ini dipilih Enum.RibbonTool .
Mengambil nilai yang disimpan sebelumnya dengan unityang diberikan, atau nil jika kunci yang diberikan tidak ada.
Kembalikan benar jika plugin ini saat ini aktif, setelah diaktifkan melalui fungsi Plugin:Activate().
Kembalikan benar jika plugin ini saat ini aktif dengan mouse eksklusif, setelah diaktifkan melalui fungsi Plugin:Activate().
Menolak bagian yang diberikan dan mengembalikan Operasi Penolakan yang dihasilkan.
Digunakan untuk membuka instansi skrip yang diberikan di jendela editor, di studio Roblox, di baris yang diberikan.Jika tidak ada baris yang diberikan sebagai argumen, itu akan default ke 1.
Membuka jendela bantuan konteks ke halaman wiki yang url terhubung ke.
Membuka jendela unggahan untuk pilihan saat ini pengguna.
Aktifkan alat Roblox Studio yang ditentukan.
Memisahkan Operasi Union yang diberikan dan mengembalikan bagian yang dihasilkan.
Menyimpan nilai tertentu untuk digunakan nanti di bawah kunci yang diberikan. Nilai akan bertahan bahkan setelah Studio ditutup.
Memulai tindakan seret diberikan kamus parameter.
Menggabungkan bagian yang diberikan dan mengembalikan UnionOperation yang dihasilkan.
- CreateDockWidgetPluginGui(pluginGuiId : string,dockWidgetPluginGuiInfo : DockWidgetPluginGuiInfo):DockWidgetPluginGui
Membuat sebuah DockWidgetPluginGui diberikan sebuah DockWidgetPluginGuiInfo .
Meminta pengguna untuk membuka file animasi .fbx yang dapat dimuat ke rigModel , kemudian melanjutkan untuk menyisipkan animasi sebagai KeyframeSequence di Workspace .
Meminta pengguna untuk membuka file .fbx, mengunggah komponen individu model sebagai meshes, dan menghasilkan karakter rig untuk digunakan dalam animasi, yang dimuat ke dalam Workspace .
Membuka jendela di Roblox Studio, yang meminta pengguna untuk memilih aset berdasarkan assetType yang ditentukan.Kembalikan asetId yang dipilih, atau -1 jika jendela ditutup.
Meminta pengguna untuk menyimpan pilihan saat ini dengan nama file yang ditentukan. Kembalikan benar jika pengguna menyimpan file.
Acara
Ditembak ketika plugin dinonaktifkan.
Api segera sebelum Plugin berhenti berjalan.
Properti
CollisionEnabled
Kembalikan apakah pengguna mengaktifkan Collisions di Studio di bawah tab Model.
DisableUIDragDetectorDrags
GridSize
Kembalikan ukuran geser grid yang telah ditetapkan pengguna di Studio di bawah tab Model atau Avatar di bilah alat.Perhatikan bahwa properti ini mungkin memiliki kesalahan bulat sedikit; misalnya, mungkin 0.0099999997764826 untuk pengaturan pengguna 1 atau 0.4000000059604645 untuk pengaturan pengguna 0.4 .
IsDebuggable
Metode
Activate
Fungsi ini menetapkan status plugin panggil ke aktif. Mengaktifkan plugin memungkinkan kontrol mouse melalui metode Plugin:GetMouse().
Pada waktu tertentu ada 0 atau 1 Plugin Aktif.Mengaktifkan plugin akan menonaktifkan semua plugin lain (mereka akan menerima peristiwa Plugin.Deactivation).
Lihat juga:
- Plugin:IsActivatedWithExclusiveMouse() , kembali benar jika plugin ini saat ini aktif dengan mouse eksklusif, setelah diaktifkan melalui fungsi ini
- Plugin.Unloading , terbakar segera sebelum plugin tidak dimuat atau dimuat ulang melalui penghapusan, deaktivasi, atau pembaruan
Parameter
Sebuah bilangan biner menentukan apakah akan mengaktifkan plugin dengan mouse eksklusif. Jika benar, PluginMouse dapat diambil melalui Plugin:GetMouse() .
Memberikan nilai
CreatePluginAction
Fungsi ini membuat PluginAction yang merupakan objek yang mewakili tindakan umum yang dapat dilakukan di Roblox Studio, tanpa terkait langsung Toolbar atau Enum.Button .Di Roblox Studio, mereka dapat ditugaskan pintasan keyboard di bawah File → Advanced → Customize Shortcuts… , dan mereka juga dapat ditambahkan ke Bilah Akses Cepat.
Ketika tindakan diaktifkan, peristiwa PluginAction.Triggered diberi sinyal.
Untuk PluginActions berfungsi seperti yang diharapkan, mereka harus dibuat menggunakan fungsi ini.
Lihat juga:
- PluginMenu , menu konteks yang dapat ditampilkan di Studio yang menampilkan daftar PluginActions dan mendukung submenu
- Plugin:CreatePluginMenu() , membuat PluginMenu
Parameter
Harus menjadi string unik yang mengidentifikasi PluginAction ini dari yang lain.
Nama actionyang ditampilkan.
Deskripsi actionyang ditampilkan.
Nama ikon yang digunakan untuk menampilkan plugin.
Apakah PluginAction akan disembunyikan dari pandangan pintasan Studio. Berguna untuk tindakan kontekstual. Nilai default adalah benar.
Memberikan nilai
Contoh Kode
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
Fungsi ini membuat baru PluginMenu , yang merupakan menu konteks yang dapat ditampilkan di Studio yang menampilkan daftar PluginActions dan mendukung submenu.
Agar PluginMenus berfungsi seperti yang diharapkan, mereka harus dibuat menggunakan fungsi ini.
Lihat juga:
- PluginAction , sebuah objek yang mewakili tindakan umum yang dapat dilakukan di Roblox Studio, tanpa terkait langsung Toolbar atau Enum.Button .
- Plugin:CreatePluginAction() , membuat PluginAction
- PluginMenu.Title , teks yang akan ditampilkan saat digunakan sebagai sub menu
- PluginMenu.Icon , ikon yang akan ditampilkan saat digunakan sebagai sub menu
- PluginMenu:AddAction() , menambahkan tindakan yang diberikan ke menu
- PluginMenu:AddNewAction() , membuat tindakan sementara yang tersembunyi dari jendela pintasan kustom Studio
- PluginMenu:AddMenu() , menambahkan menu yang diberikan sebagai pemisah
- PluginMenu:AddSeparator() , menambahkan pemisah antara item di menu
- PluginMenu:Clear() , membersihkan menu
- PluginMenu:ShowAsync() , menunjukkan menu di kursor mouse.Hasil sampai item dipilih atau menu ditutup.Tindakan yang dipilih menembakkan acara Terpicunya
Parameter
ID unik untuk menu.
Teks yang akan ditampilkan saat digunakan sebagai sub menu.
Ikon yang akan ditampilkan saat digunakan sebagai sub menu.
Memberikan nilai
Contoh Kode
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
Fungsi Buat Bilah Alat membuat baru PluginToolbar dengan nama yang diberikan. Bilah alat kemudian dapat digunakan untuk membuat tombol plugin.
Parameter
Teks yang terlihat di bilah alat, menandai kelompok tombol yang terkandung di dalamnya.
Memberikan nilai
Contoh Kode
This code creates a toolbar with the name "ExampleToolbar".
plugin:CreateToolbar("ExampleToolbar")
Deactivate
Nonaktifkan plugin. Ini akan memutuskan PluginMouse yang terkait jika telah diaktifkan
Lihat juga:
- Plugin:Activate() , menetapkan status plugin panggil ke aktif
- Plugin.Deactivation , terbakar saat plugin dinonaktifkan
- Plugin.Unloading , terbakar segera sebelum plugin tidak dimuat atau dimuat ulang melalui penghapusan, deaktivasi, atau pembaruan
Memberikan nilai
GetJoinMode
Kembalikan Enum.JointCreationMode pengguna telah atur di Studio di bawah tab Model.
Memberikan nilai
GetMouse
Dapatkan Mouse mengembalikan PluginMouse yang dapat digunakan saat plugin aktif melalui Plugin:Activate() .
Memberikan nilai
Contoh Kode
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 kembalikan yang saat ini dipilih Enum.RibbonTool .Ini mengembalikan Enum yang sesuai dengan alat tertentu.Ini akan kembali apakah alat tersebut dipilih secara manual atau secara programatik melalui Plugin:SelectRibbonTool() .
Memberikan nilai
Contoh Kode
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
Mengambil nilai yang disimpan sebelumnya dengan unityang diberikan, atau nil jika kunci yang diberikan tidak ada.
Karena beberapa instansi plugin yang sama dapat berjalan secara bersamaan (misalnya, jika beberapa jendela Studio terbuka), Anda tidak harus bergantung pada nilai ini tetap sama seiring waktu.Instansi plugin lain dapat memperbarui pengaturan kapan saja.
Panggilan ini bisa gagal diam-diam dan kembali nil jika beberapa instansi plugin yang sama sedang membaca dan menulis data aktif.Jika plugin Anda berharap menulis ke pengaturan sering, Anda harus memeriksa ulang nilai yang dikembalikan dari panggilan ini setelah sesaat untuk membedakan antara pengaturan yang tidak tersedia sementara dan pengaturan yang tidak ada.
Parameter
Memberikan nilai
Contoh Kode
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
Fungsi ini mengembalikan benar jika plugin ini saat ini aktif, setelah diaktifkan melalui fungsi Plugin:Activate().
Memberikan nilai
Boolean yang menunjukkan apakah plugin saat ini aktif.
IsActivatedWithExclusiveMouse
Fungsi ini mengembalikan benar jika plugin ini saat ini aktif dengan mouse eksklusif, setelah diaktifkan melalui fungsi Plugin:Activate().Jika ini kembali benar, PluginMouse dapat diambil melalui Plugin:GetMouse() .
Lihat juga:
- Plugin.Deactivation , terbakar saat plugin dinonaktifkan
- Plugin.Unloading , terbakar segera sebelum plugin tidak dimuat atau dimuat ulang melalui penghapusan, deaktivasi, atau pembaruan
Memberikan nilai
Apakah plugin ini saat ini aktif dengan mouse eksklusif.
Negate
Menolak bagian yang diberikan dan mengembalikan Operasi Penolakan yang dihasilkan.
Parameter
Memberikan nilai
OpenScript
Digunakan untuk membuka instansi skrip yang diberikan di jendela editor, di studio Roblox, di baris yang diberikan.Jika tidak ada baris yang diberikan sebagai argumen, itu akan default ke 1.
Parameter
Memberikan nilai
Contoh Kode
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
Membuka jendela bantuan konteks ke halaman wiki yang url terhubung ke.
Parameter
Memberikan nilai
Contoh Kode
The following, when executed in a plugin, will open the BasePart API page in the context help.
plugin:OpenWikiPage("API:Class/BasePart")
SaveSelectedToRoblox
Membuka jendela unggahan untuk pilihan saat ini pengguna.
Memberikan nilai
SelectRibbonTool
Aktifkan alat Roblox Studio yang ditentukan. Jika alat membuka jendela, parameter posisi menentukan di mana harus ditampilkan di layar.
Catatan:
- Objek harus dipilih agar ini berfungsi dengan benar.
- Mengubah bidang skala dari properti position tidak akan memengaruhi popup dialog.
Parameter
Memberikan nilai
Separate
Memisahkan Operasi Union yang diberikan dan mengembalikan bagian yang dihasilkan.
Parameter
Memberikan nilai
SetSetting
Menyimpan nilai tertentu untuk digunakan nanti di bawah unityang diberikan.Nilai akan bertahan bahkan setelah Roblox Studio ditutup.Pengaturan ini disimpan dalam format JSON sebagai peta dengan kunci string.배열 secara otomatis diubah menjadi peta dengan mengubah kunci numerik ke string terlebih dahulu.
Perhatikan bahwa format JSON menetapkan batasan tambahan, termasuk karakter berikut yang dapat merusak file pengaturan:
- Backslashes ( \ ) dalam kunci atau nilai, khususnya kutipan yang lolos ( \" ).
- Baris baru ( \n ) di kunci.
- Kutipan ( " ) dalam kunci.
- Periode ( . ) dalam kunci.
Panggilan ini bisa gagal diam-diam jika beberapa instansi plugin yang sama aktif membaca dan menulis data.Jika plugin Anda berharap untuk sering menulis ke pengaturan, Anda dapat memeriksa apakah data telah ditulis dengan benar dengan memanggil Plugin:GetSetting().
Parameter
Memberikan nilai
Contoh Kode
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
MulaiDrag memulai tindakan seret menggunakan kamus parameter. Para parameter adalah sebagai berikut:
<th>Jenis</th><th>Standar</th><th>Deskripsi</th></tr></thead><tbody><tr><td><b>Pengirim</b></td><td>string</td><td><code>""</code></td><td>Mengidentifikasi sumber tindakan seret ke target jatuh</td></tr><tr><td><b>Tipe Mime</b></td><td>string</td><td><code>""</code></td><td>Jenis <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> dari <b>Data</b>.</td></tr><tr><td><b>Data</b></td><td>string</td><td><code>""</code> ></td><td>Informasi tentang actionseret, misalnya apa yang diseret. Harus digunakan oleh target jatuh.</td></tr><tr><td><b>MouseIcon</b></td><td><code>Datatype.Content</code> ></td><td><code>""</code> ></td><td>Ikon yang digunakan untuk kursor mouse selama seretan. Jika kosong, menggunakan kursor default.</td></tr><tr><td><b>DragIcon</b></td><td><code>Jenis Data.Konten</code> ></td><td><code>""</code> ></td><td>Gambar untuk ditampilkan di bawah kursor mouse selama seretan. Ini harus mewakili item yang diseret.</td></tr><tr><td><b>HotSpot</b></td><td><code>Datatype.Vector2</code></td><td><code>Datatype.Vector2.new(0, 0)</code> ></td><td>Offset piksel dari bagian atas kiri di mana kursor harus "tahan" <b>DragIcon</b>.</td></tr></tbody>
Nama |
---|
Lihat juga:
Parameter
Memberikan nilai
Contoh Kode
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
Menggabungkan bagian yang diberikan dan mengembalikan UnionOperation yang dihasilkan.
Parameter
Memberikan nilai
CreateDockWidgetPluginGui
CreateDockWidgetPluginGui membuat baru DockWidgetPluginGui dari yang diberikan DockWidgetPluginGuiInfo .Parameter pertama, pluginGuiId , harus menjadi string unik dan konsisten.Ini digunakan untuk menyimpan status dok pada widget dan rincian internal lainnya.
Parameter
Pengenal unik dan konsisten yang digunakan untuk menyimpan status dok dok widget dan rincian internal lainnya.
Menggambarkan DockWidgetPluginGui untuk membuat (status awal, ukuran, dll).
Memberikan nilai
Contoh Kode
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
Fungsi ini meminta pengguna untuk membuka file animasi .fbx yang dapat dimuat ke rigModel , kemudian melanjutkan untuk menyisipkan animasi sebagai KeyframeSequence di Workspace .
Parameter
Memberikan nilai
ImportFbxRig
Meminta pengguna untuk membuka file .fbx, mengunggah komponen individu model sebagai meshes, dan menghasilkan karakter rig untuk digunakan dalam animasi, yang dimuat ke dalam Workspace .
Parameter
Memberikan nilai
PromptForExistingAssetId
Membuka jendela di Roblox Studio, yang meminta pengguna untuk memilih aset berdasarkan assetType yang ditentukan.Kembalikan asetId yang dipilih, atau -1 jika jendela ditutup.
Parameter
Memberikan nilai
Acara
Deactivation
Dipecat ketika Plugin dinonaktifkan.Ini terjadi ketika kode plugin memanggil Plugin:Deactivate() , atau karena beberapa plugin lain dipanggil Plugin:Activate() , yang memaksa semua plugin lain kehilangan status aktif mereka.
Lihat juga:
- Plugin.Unloading , terbakar segera sebelum plugin tidak dimuat atau dimuat ulang melalui penghapusan, deaktivasi, atau pembaruan
Unloading
Peristiwa ini terbakar segera sebelum Plugin berhenti berjalan.Plugin tidak dimuat saat dinonaktifkan, dihapus, akan diperbarui, atau saat tempat ditutup.
Ini memungkinkan plugin untuk membersihkan setelah dirinya sendiri sebelum skripnya berhenti berjalan, misalnyauntuk menghapus instansi yang tidak perlu dari DataModel .Jika plugin tidak dibersihkan dengan benar, salinan lama akan tetap ada.Ketika ini terjadi, pengguna mungkin dipaksa untuk menutup dan membuka kembali tempat yang merupakan pengalaman pengguna buruk.
Instansi terkait plugin seperti PluginToolbarButtons , DockWidgetPluginGuis , dan PluginGuis dihapus secara otomatis saat plugin dihapus sehingga tidak perlu menghapusnya.