Plugin
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Plugin ist das Hauptobjekt, das für die Erstellung von grundlegenden Studio- Widgets, Plugin-Toolleisten, Plugin-Schaltflächen und mehr verantwortlich ist.Es ist ein benutzerdefiniertes Add-on für Studio, das neue Verhalten und Funktionen hinzufügt, die normalerweise nicht enthalten sind.Das Plugin -Objekt kann über die plugin in einem ausgeführten Plug-inzugänglich sein.
Code-Beispiele
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
Zusammenfassung
Eigenschaften
Gibt zurück, ob der Benutzer Collisions hat.
Gibt die Rastergröße zurück, die der Benutzer in Studio festgelegt hat.
Methoden
Setzt den Zustand des anrufenden Plugins auf aktiviert.
- CreatePluginAction(actionId : string,text : string,statusTip : string,iconName : string,allowBinding : boolean):PluginAction
Erstellt ein PluginAction, das ein Objekt darstellt, das eine generische durchführbare Aktion in Roblox Studio darstellt, ohne direkt verbundene Toolbar oder Enum.Button.
Erstellt ein neues Plugin-Menü.
Erstellt eine neue PluginToolbar mit dem angegebenen Namen.
Deaktiviert das Plug-in.
Gibt die Enum.JointCreationMode zurück, die der Benutzer im Studio unter der Registerkarte Modell festgelegt hat.
Gibt eine Mouse zurück, die verwendet werden kann, während das Plugin aktiv ist.
Gibt das derzeit ausgewählte Enum.RibbonTool zurück.
Ruft einen zuvor gespeicherten Wert mit dem angegebenen Schlüssel ab oder nil, wenn der angegebene Schlüssel nicht existiert.
Gibt wahr zurück, wenn dieses Plugin derzeit aktiv ist, nachdem es über die Plugin:Activate()-Funktion aktiviert wurde.
Gibt wahr zurück, wenn dieses Plugin derzeit mit einer exklusiven Maus aktiv ist, nachdem es über die Plugin:Activate()-Funktion aktiviert wurde.
Negiert die angegebenen Teile und gibt die daraus resultierenden NegateOperations zurück.
Wird verwendet, um die angegebene Skriptinstanz in einem Bearbeitungsfenster, in Roblox Studio, an der angegebenen Stelle zu öffnen.Wenn keine Zeile als Argument angegeben wird, wird sie standardmäßig auf 1 gesetzt.
Öffnet das Kontext-Hilfenfenster auf die Wiki-Seite, auf die url verlinkt wird.
Öffnet ein Hochladefenster für die aktuelle Auswahl des Benutzers.
Aktiviert das angegebene Roblox Tool.
Trennt die angegebenen UnionOperations und gibt die daraus resultierenden Teile zurück.
Lagert einen bestimmten Wert für spätere Verwendung unter dem angegebenen Schlüssel. Der Wert bleibt bestehen, auch nachdem Studio geschlossen wurde.
Startet eine Ziehaktion, gegeben ein Wörterbuch von Parametern.
Verbindet die angegebenen Teile und gibt die resultierende UnionOperation zurück.
- CreateDockWidgetPluginGui(pluginGuiId : string,dockWidgetPluginGuiInfo : DockWidgetPluginGuiInfo):DockWidgetPluginGui
Erstellt eine DockWidgetPluginGui , gegeben ein DockWidgetPluginGuiInfo .
Fordert den Benutzer auf, eine .fbx-Animationsdatei zu öffnen, die auf die rigModel geladen werden kann, und fügt dann die Animation als KeyframeSequence in die Workspace ein.
Fordert den Benutzer auf, eine .fbx-Datei zu öffnen, lädt die einzelnen Komponenten des Modells als Meshes hoch und erzeugt ein Charakter-Rig für den Einsatz in der Animationen, das in die Workspace geladen wird.
Öffnet ein Fenster in Roblox Studio, das den Benutzer auffordert, ein Asset auszuwählen, basierend auf dem angegebenen assetType.Gibt zurück, welche Asset-ID ausgewählt wurde, oder -1, wenn das Fenster geschlossen wurde.
Fordert den Benutzer auf, seine aktuelle Auswahl mit dem angegebenen Dateinamen zu speichern. Gibt wahr zurück, wenn der Benutzer die Datei gespeichert hat.
Ereignisse
Feuert, wenn das Plugin deaktiviert wird.
Feuert sofort bevor die Plugin plötzlich nicht mehr läuft.
Eigenschaften
DisableUIDragDetectorDrags
GridSize
Gibt die Rastergröße zurück, die der Benutzer in Studio unter den Modell - oder Avatar -Registerkarten der Toolleiste festgelegt hat.Beachten Sie, dass diese Eigenschaft leichte Rundungsfehler haben kann; zum Beispiel kann es 0.0099999997764826 für eine Benutereinstellung von 1 oder 0.4000000059604645 für eine Benutereinstellung von 0.4 sein.
IsDebuggable
Methoden
Activate
Diese Funktion legt den Zustand des anrufenden Plugins auf aktiviert fest. Die Aktivierung des Plugins ermöglicht die Maussteuerung durch die Methode Plugin:GetMouse().
Zu jeder Zeit gibt es entweder 0 oder 1 aktivierte Plugins.Die Aktivierung eines Plugins deaktiviert alle anderen Plugins (sie erhalten ein Plugin.Deactivation-Ereignis).
Siehe auch:
- Plugin:IsActivatedWithExclusiveMouse() , gibt wahr zurück, wenn dieses plugin derzeit mit einer exklusiven maus aktiv ist, nachdem es über diese funktion aktiviert wurde
- Plugin.Unloading , feuert sofort ab, bevor das plugin über deinstallation, deaktivierung oder aktualisierung nicht mehr geladen oder neu geladen wird
Parameter
Ein boolescher Wert, der angibt, ob das Plugin mit der exklusiven Maus aktiviert werden soll. Wenn true, kann ein PluginMouse über Plugin:GetMouse() abgerufen werden.
Rückgaben
CreatePluginAction
Diese Funktion erstellt ein PluginAction, das ein Objekt darstellt, das eine generische durchführbare Aktion in Roblox Studio darstellt, ohne direkt verbundene Toolbar oder Enum.Button.In Roblox Studio können ihnen eine Tastenkürzel unter File → Advanced → Customize Shortcuts… zugewiesen werden, und sie können auch in die Schnellzugriffs-Toolleiste aufgenommen werden.
Wenn eine Aktion ausgelöst wird, wird das PluginAction.Triggered-Ereignis angezeigt.
Damit PluginActions wie erwartet funktionieren, müssen sie mit dieser Funktion erstellt werden.
Siehe auch:
- PluginMenu , ein Kontextmenü, das in Studio angezeigt werden kann und eine Liste von Plugin-Aktionen anzeigt und Untermenüs unterstützt
- Plugin:CreatePluginMenu() , erstellt ein Pluginmenü
Parameter
Muss ein einzigartiger String sein, der diese Plugin-Aktion von anderen identifiziert.
Der angezeigte Name der Action.
Die angezeigte Beschreibung der Action.
Der Name des verwendeten Symbols, um das Plug-inanzuzeigen.
Ob die PluginAction aus der Ansichtvon Studio ausgeblendet wird. Nützlich für kontextuelle Aktionen. Standard ist auf true.
Rückgaben
Code-Beispiele
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
Diese Funktion erstellt ein neues PluginMenu, das ein Kontextmenü ist, das in Studio angezeigt werden kann, und zeigt eine Liste von PluginActions und unterstützt Untermenüs.
Damit Plugin-Menüs wie erwartet funktionieren, müssen sie mit dieser Funktion erstellt werden.
Siehe auch:
- PluginAction , ein Objekt, das eine generische durchführbare Aktion in Roblox Studio darstellt, ohne direkt verbundene Toolbar oder Enum.Button.
- Plugin:CreatePluginAction() , erstellt eine Pluginaktion
- PluginMenu.Title , der text, der angezeigt wird, wenn er als untermenü verwendet wird
- PluginMenu.Icon , das icon, das angezeigt wird, wenn es als untermenü verwendet wird
- PluginMenu:AddAction() , fügt die angegebene aktion zum menü hinzu
- PluginMenu:AddNewAction() , erstellt eine temporäre Aktion, die aus dem Anpassungs-Shortcut-Fenster von Studio ausgeblendet wird
- PluginMenu:AddMenu() , fügt das angegebene menü als trennzeichen hinzu
- PluginMenu:AddSeparator() , fügt einen abstandhalter zwischen den elementen im menü hinzu
- PluginMenu:Clear() , löscht das menü
- PluginMenu:ShowAsync() , zeigt das Menü am Mauszeiger an.Gibt bis aus, bis ein Artikel ausgewählt oder das Menü geschlossen wird.Die ausgewählte Aktion feuert ihr ausgelöstes Ereignis ab
Parameter
Einzigartige ID für das Menü.
Der Text, der angezeigt wird, wenn er als Untermenü verwendet wird.
Das Symbol, das angezeigt wird, wenn es als Untermenü verwendet wird.
Rückgaben
Code-Beispiele
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
Die CreateToolbar -Funktion erstellt einen neuen PluginToolbar mit dem angegebenen Namen. Die Toolleiste kann dann verwendet werden, um Plugin-Buttons zu erstellen.
Parameter
Der sichtbare Text auf der Toolleiste, der die Gruppe der darin enthaltenen Schaltflächen beschreibt.
Rückgaben
Code-Beispiele
This code creates a toolbar with the name "ExampleToolbar".
plugin:CreateToolbar("ExampleToolbar")
Deactivate
Deaktiviert das Plug-in. Dies wird den damit verbundenen PluginMouse deaktivieren, wenn es aktiviert wurde
Siehe auch:
- Plugin:Activate() , legt den zustand des anrufenden plugins auf aktiviert fest
- Plugin.Deactivation , feuert ab, wenn das plugin deaktiviert wird
- Plugin.Unloading , feuert sofort ab, bevor das plugin über deinstallation, deaktivierung oder aktualisierung nicht mehr geladen oder neu geladen wird
Rückgaben
GetJoinMode
Gibt die Enum.JointCreationMode zurück, die der Benutzer im Studio unter der Registerkarte Modell festgelegt hat.
Rückgaben
GetMouse
GetMouse gibt eine PluginMouse zurück, die verwendet werden kann, während das Plugin durch Plugin:Activate() aktiv ist.
Rückgaben
Code-Beispiele
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 gibt die derzeit ausgewählte Enum.RibbonTool zurück.Es gibt eine Enum zurück, die einem bestimmten Werkzeug entspricht.Dies gibt zurück, ob das Werkzeug manuell oder programmatisch über Plugin:SelectRibbonTool() ausgewählt wird.
Rückgaben
Code-Beispiele
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
Ruft einen zuvor gespeicherten Wert mit dem angegebenen Schlüssel ab oder nil, wenn der angegebene Schlüssel nicht existiert.
Da mehrere Instanzen desselben Plugins gleichzeitig ausgeführt werden können (zum Beispiel, wenn mehrere Studio-Fenster offen sind), solltest du nicht davon abhängen, dass dieser Wert im Laufe der Zeit gleich bleibt.Die anderen Plugin-Instanzen können die Einstellung jederzeit aktualisieren.
Dieser Anruf kann leise fehlschlagen und nil zurückgeben, wenn mehrere Instanzen desselben Plugins aktiv Daten lesen und schreiben.Wenn dein Plugin häufig auf Einstellungen schreiben erwartet, solltest du den zurückgegebenen Wert von diesem Aufruf nach kurzer Zeit überprüfen, um zwischen einer vorübergehend nicht verfügbaren Einstellung und einer nicht existierenden Einstellung zu unterscheiden.
Parameter
Rückgaben
Code-Beispiele
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
Diese Funktion gibt true zurück, wenn dieses Plugin derzeit aktiv ist, nachdem es über die Funktion Plugin:Activate() aktiviert wurde.
Rückgaben
Ein boolescher Indikator, der anzeigt, ob das Plugin derzeit aktiv ist.
IsActivatedWithExclusiveMouse
Diese Funktion gibt true zurück, wenn dieses Plugin derzeit mit einer exklusiven Maus aktiv ist, nachdem es über die Funktion Plugin:Activate() aktiviert wurde.Wenn dies wahr ist, kann ein PluginMouse über Plugin:GetMouse() abgerufen werden.
Siehe auch:
- Plugin.Deactivation , feuert ab, wenn das plugin deaktiviert wird
- Plugin.Unloading , feuert sofort ab, bevor das plugin über deinstallation, deaktivierung oder aktualisierung nicht mehr geladen oder neu geladen wird
Rückgaben
Ob dieses Plugin derzeit mit einer exklusiven Maus aktiv ist.
Negate
Negiert die angegebenen Teile und gibt die daraus resultierenden NegateOperations zurück.
Parameter
Rückgaben
OpenScript
Wird verwendet, um die angegebene Skriptinstanz in einem Bearbeitungsfenster, in Roblox Studio, an der angegebenen Stelle zu öffnen.Wenn keine Zeile als Argument angegeben wird, wird sie standardmäßig auf 1 gesetzt.
Parameter
Rückgaben
Code-Beispiele
The following creates a new Script in the Workspace and opens it.
local newScript = Instance.new("Script")
newScript.Parent = workspace
plugin:OpenScript(newScript)
OpenWikiPage
Öffnet das Kontext-Hilfenfenster auf die Wiki-Seite, auf die url verlinkt wird.
Parameter
Rückgaben
Code-Beispiele
The following, when executed in a plugin, will open the BasePart API page in the context help.
plugin:OpenWikiPage("API:Class/BasePart")
SaveSelectedToRoblox
Öffnet ein Hochladefenster für die aktuelle Auswahl des Benutzers.
Rückgaben
SelectRibbonTool
Aktiviert das angegebene Roblox Tool. Wenn das Werkzeug ein Fenster öffnet, gibt der Positions参数 an, wo es auf dem Bildschirm angezeigt werden soll.
Hinweis:
- Ein Objekt muss ausgewählt werden, damit dies richtig funktioniert.
- Die Änderung der Skalefelder der position-Eigenschaft wird die Dialogpopups nicht beeinflussen.
Parameter
Rückgaben
Separate
Trennt die angegebenen UnionOperations und gibt die daraus resultierenden Teile zurück.
Parameter
Rückgaben
SetSetting
Lagert einen bestimmten Wert für spätere Verwendung unter dem angegebenen Schlüssel.Der Wert bleibt bestehen, auch nachdem Roblox Studio geschlossen wurde.Diese Einstellungen werden im JSON-Format als Karte mit Zeichenschlüsseln gespeichert.Arrays werden automatisch in Karten umgewandelt, indem die numerischen Schlüssel zuerst in Zeichen umgewandelt werden.
Beachten Sie, dass das JSON-Format zusätzliche Einschränkungen auferlegt, einschließlich der folgenden Zeichen, die die Einstellungsdatei beschädigen können:
- Rücktasten ( \ ) in Schlüsseln oder Werten, insbesondere entkommenen Zitaten ( \" ).
- Neue Zeilen ( \n ) in Schlüsseln.
- Zitate ( " ) in Schlüsseln.
- Zeiten ( . ) in Schlüsseln.
Dieser Anruf kann im Stillen fehlschlagen, wenn mehrere Instanzen desselben Plugins aktiv Daten lesen und schreiben.Wenn dein Plugin häufig auf Einstellungen schreiben erwartet, kannst du überprüfen, dass die Daten richtig geschrieben wurden, indem du Plugin:GetSetting() anrufst.
Parameter
Rückgaben
Code-Beispiele
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
StartDrag startet eine Drag-Aktion mit einem Wörterbuch von Parametern. Die Parameter sind wie folgt:
<th>Typ</th><th>Standardmäßig</th><th>Beschreibung</th></tr></thead><tbody><tr><td><b>Absender</b></td><td>Zeichen</td><td><code>""</code></td><td>Identifiziert die Quelle der Drag-Aktion zum Drop-Ziel</td></tr><tr><td><b>MimeType</b></td><td>Zeichenkette</td><td><code>""</code></td><td>Die <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> Art von <b>Daten</b>.</td></tr><tr><td><b>Daten</b></td><td>Zeichen</td><td><code>""</code></td><td>Informationen über die Action, zum Beispiel, was verschoben wird. Sollte vom Drop-Ziel verwendet werden.</td></tr><tr><td><b>Maus-Icon</b></td><td><code>Datentyp.Inhalt</code></td><td><code>""</code></td><td>Das Symbol, das für den Mauszeiger während des Ziehens verwendet wird. Wenn es leer ist, verwendet es den Standard-Cursor.</td></tr><tr><td><b>DragIcon</b></td><td><code>Datentyp.Inhalt</code></td><td><code>""</code></td><td>Ein Bild, das unter dem Mauszeiger während des Ziehens gerendert wird. Dies sollte das zu ziehende Element darstellen.</td></tr><tr><td><b>HotSpot</b></td><td><code>Datentyp.Vector2</code></td><td><code>Datentyp.Vector2.new(0, 0)</code></td><td>Der Pixelfluss von der oberen linken Seite, wo der Cursor das <b>DragIcon</b> "halten" sollte.</td></tr></tbody>
Namen |
---|
Siehe auch:
Parameter
Rückgaben
Code-Beispiele
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
Verbindet die angegebenen Teile und gibt die resultierende UnionOperation zurück.
Parameter
Rückgaben
CreateDockWidgetPluginGui
CreateDockWidgetPluginGui erstellt ein neues DockWidgetPluginGui aus dem angegebenen DockWidgetPluginGuiInfo.Der erste Parameter, pluginGuiId, sollte eine eindeutige und konsistente Stringsein.Es wird verwendet, um den Zustand des Dockstatus des Widgets und andere interne Details zu speichern.
Parameter
Eine eindeutige und konsistente Kennung, die verwendet wird, um den Dockstatus des Widgets und andere interne Details zu speichern.
Beschreibt das DockWidgetPluginGui, um zu erstellen (ursprünglicher Zustand, Größe usw.).
Rückgaben
Code-Beispiele
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
Diese Funktion fordert den Benutzer auf, eine .fbx-Animationsdatei zu öffnen, die auf die rigModel geladen werden kann, und fügt dann die Animation als KeyframeSequence in die Workspace ein.
Parameter
Rückgaben
ImportFbxRig
Fordert den Benutzer auf, eine .fbx-Datei zu öffnen, lädt die einzelnen Komponenten des Modells als Meshes hoch und erzeugt ein Charakter-Rig für den Einsatz in der Animationen, das in die Workspace geladen wird.
Parameter
Rückgaben
PromptForExistingAssetId
Öffnet ein Fenster in Roblox Studio, das den Benutzer auffordert, ein Asset auszuwählen, basierend auf dem angegebenen assetType.Gibt zurück, welche Asset-ID ausgewählt wurde, oder -1, wenn das Fenster geschlossen wurde.
Parameter
Rückgaben
Ereignisse
Deactivation
Feuert, wenn das Plugin deaktiviert wird.Dies geschieht, wenn entweder der Plugin-Code Plugin:Deactivate() aufruft, oder weil ein anderes Plugin Plugin:Activate() aufruft, was alle anderen Plugins zwingt, ihren aktiven Zustand zu verlieren.
Siehe auch:
- Plugin.Unloading , feuert sofort ab, bevor das plugin über deinstallation, deaktivierung oder aktualisierung nicht mehr geladen oder neu geladen wird
Unloading
Dieses Ereignis wird sofort abgefeuert, bevor die Plugin aufhört zu laufen.Plugins werden deinstalliert, wenn sie deaktiviert, aktualisiert werden sollen oder wenn der Ort geschlossen wird.
Es ermöglicht einem Plugin, sich selbst zu reinigen, bevor seine Skripte aufhören, zu laufen, z. B.um unnötige Instanzen aus der DataModel zu entfernen.Wenn ein Plugin nicht richtig gereinigt wird, bleiben die alten Kopien übrig.Wenn dies auftritt, können Benutzer gezwungen werden, den Ort zu schließen und erneut zu öffnen, was eine schlechte Erlebnisdarstellt.
Plugin-bezogene Instanzen wie PluginToolbarButtons , DockWidgetPluginGuis und PluginGuis werden automatisch gereinigt, wenn das Plugin entladen wird, so dass es nicht notwendig ist, sie zu entfernen.