Plugin

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません

プラグイン は、基本の Studio ウィジェット、プラグインツールバー、プラグインボタンなどを作成する主なオブジェクトです。Studio に新しい振る舞いや機能を追加するカスタム追加機能で、通常は含まれていないものです。 プラグイン オブジェクトは、plugin グローバルリファレンスを介して、プラグインとして実行される Script でアクセスできます。

コードサンプル

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

概要

プロパティ

  • 読み取り専用
    複製されていません
    並列読み取り

    ユーザーがモデルタブの下で Collisions を有効にしたかどうかを返します。

  • Robloxのスクリプトセキュリティ
    並列読み取り
  • 読み取り専用
    複製されていません
    並列読み取り

    ユーザーが Studio で設定したグリッドスナップサイズを返します。

  • Robloxのスクリプトセキュリティ
    並列読み取り

方法

  • Activate(exclusiveMouse : boolean):()
    プラグインのセキュリティ

    呼び出しプラグインの状態を有効に設定します。

  • CreatePluginAction(actionId : string,text : string,statusTip : string,iconName : string,allowBinding : boolean):PluginAction
    プラグインのセキュリティ

    クリエイトする PluginAction は、Roblox Studio で一般的な実行可能なアクションを表すオブジェクトで、直接関連した Toolbar または Enum.Button はありません。

  • プラグインのセキュリティ

    新しいプラグインメニューを作成します。

  • プラグインのセキュリティ

    指定された名前で新しい PluginToolbar を作成します。

  • プラグインのセキュリティ

    プラグインを無効にします。

  • プラグインのセキュリティ

    ユーザーが Studio の [モデル] タブで設定した Enum.JointCreationMode を返します。

  • プラグインのセキュリティ

    プラグインがアクティブな状態で使用できる Mouse を返します。

  • プラグインのセキュリティ

    現在選択されている Enum.RibbonTool を返します。

  • GetSetting(key : string):Variant
    プラグインのセキュリティ

    指定されたキーで以前に保存された値を取得するか、nil 指定されたキーが存在しない場合。

  • Intersect(objects : Instances):Instance
    プラグインのセキュリティ
  • プラグインのセキュリティ

    このプラグインが現在アクティブである場合、Plugin:Activate() 関数を介して有効になった後、真を返します。

  • プラグインのセキュリティ

    このプラグインが現在、排他的なマウスでアクティブであることを示し、Plugin:Activate() 関数を介して有効になった後、このプラグインが独占的なマウスでアクティブであることを返します。

  • Negate(objects : Instances):Instances
    プラグインのセキュリティ

    指定されたパーツを否定し、結果の否定操作を返す

  • OpenScript(script : LuaSourceContainer,lineNumber : number):()
    プラグインのセキュリティ

    指定されたスクリプトインスタンスをエディタウィンドウで開き、Roblox Studio で指定された行で開きます。引数としてラインが指定されない場合、デフォルトで 1 になります。

  • プラグインのセキュリティ

    コンテキストヘルプウィンドウを、url リンクされたウィキページに開きます。

  • プラグインのセキュリティ

    ユーザーの現在の選択に対するアップロードウィンドウを開きます。

  • SelectRibbonTool(tool : Enum.RibbonTool,position : UDim2):()
    プラグインのセキュリティ

    指定された Roblox Studio ツールを有効にします。

  • Separate(objects : Instances):Instances
    プラグインのセキュリティ

    指定された UnionOperations を分離し、結果のパーツを返します。

  • SetSetting(key : string,value : Variant):()
    プラグインのセキュリティ

    指定された値を指定されたキーで後で使用するように保存します。値は、Studio が閉じた後も維持されます。

  • StartDrag(dragData : Dictionary):()
    プラグインのセキュリティ

    パラメータの辞書を指定してドラッグアクションを開始します。

  • Union(objects : Instances):Instance
    プラグインのセキュリティ

    指定されたパーツを結合し、結果の UnionOperation を返します。

  • イールド
    プラグインのセキュリティ

    クリエイトする DockWidgetPluginGuiDockWidgetPluginGuiInfo を与える。

  • イールド
    プラグインのセキュリティ

    ユーザーに、 にロードできる .fbx アニメーションファイルを開いてもらい、その後、 にアニメーションを挿入します。

  • イールド
    プラグインのセキュリティ

    ユーザーに .fbx ファイルを開き、モデルの個々のコンポーネントをメッシュとしてアップロードし、アニメーションで使用するキャラクターリグを生成し、Workspace にロードします。

  • イールド
    プラグインのセキュリティ

    Roblox Studio のウィンドウを開き、ユーザーに指定された assetType に基づいてアセットを選択するよう促します。選択されたアセットIDを返します、またはウィンドウが閉じた場合は -1です。

  • PromptSaveSelection(suggestedFileName : string):boolean
    イールド
    プラグインのセキュリティ

    ユーザーに指定されたファイル名で現在の選択を保存するように促します。ファイルを保存した場合は true を返します。

イベント

プロパティ

CollisionEnabled

読み取り専用
複製されていません
並列読み取り

ユーザーがモデルタブの下で Collisions を有効にしたかどうかを返します。

DisableUIDragDetectorDrags

Robloxのスクリプトセキュリティ
並列読み取り

GridSize

読み取り専用
複製されていません
並列読み取り

ユーザーがスタジオのツールバーの モデル または アバター タブで設定したグリッドスナップサイズを返します。このプロパティには、微細な丸めエラーが発生する可能性があります;たとえば、ユーザー設定の 0.0099999997764826 またはユーザー設定の 1 または 0.4000000059604645 であるユーザー設定の場合、それは 0.4 です。

IsDebuggable

Robloxのスクリプトセキュリティ
並列読み取り

方法

Activate

()
プラグインのセキュリティ

この機能は、呼び出しプラグインの状態を有効に設定します。プラグインを有効にすると、Plugin:GetMouse() メソッドを通じてマウスコントロールが有効になります。

特定の時点では、0か1つの有効なプラグインが存在します。プラグインを有効にすると、他のすべてのプラグインが無効になります (彼らは Plugin.Deactivation イベントを受け取ります)。

参照してください:

  • Plugin:IsActivatedWithExclusiveMouse() , このプラグインが現在、排他的なマウスでアクティブであることを確認した後、この関数を介して有効になった場合は、真を返す
  • Plugin.Unloading , プラグインがアンインストール、または再読み込み中に即座に発動し、アンインストール、またはアップデートによって無効化される前に

パラメータ

exclusiveMouse: boolean

プラグインを専用のマウスで有効にするかどうかを指定するブール。真の場合は、PluginMouse を介して Plugin:GetMouse() を取得できます。

既定値: ""

戻り値

()

CreatePluginAction

プラグインのセキュリティ

この機能は、Roblox Studio で一般的な実行可能なアクションを表すオブジェクトを作成し、直接関連する PluginAction または Toolbar がない Enum.Button を作成します。Roblox Studio では、File → Advanced → Customize Shortcuts… の下でキーボードショートカットが割り当てられ、クイックアクセスツールバーに追加することもできます。

アクションがトリガーされると、PluginAction.Triggered イベントがシグナルされます。

プラグインアクションが期待通りに機能するには、この関数を使用して作成する必要があります。

参照してください:

  • PluginMenu , スタジオに表示できるコンテキストメニューで、プラグインアクションのリストとサブメニュをサポートする
  • Plugin:CreatePluginMenu() , プラグインメニューを作成

パラメータ

actionId: string

このプラグインアクションを他のものと区別するユニークな文字列でなければなりません。

既定値: ""
text: string

操作クションの表示名。

既定値: ""
statusTip: string

アクションの表示された説明。

既定値: ""
iconName: string

プラグインを表示するために使用されるアイコンの名前。

既定値: ""
allowBinding: boolean

PluginAction が Studio のショートカットビューから非表示になるかどうか。コンテキストアクションに便利。デフォルトは true です。

既定値: true

戻り値

コードサンプル

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

プラグインのセキュリティ

この機能は、新しい PluginMenu を作成し、Studio で表示できるコンテキストメニューを作成し、リストの PluginActions とサブメニューをサポートします。

プラグインメニューが期待通りに機能するには、この関数を使用して作成する必要があります。

参照してください:

  • PluginAction , Roblox Studio で一般的な実行可能なアクションを表すオブジェクトで、直接関連した Toolbar または Enum.Button はありません。
  • Plugin:CreatePluginAction() , プラグインアクションを作成
  • PluginMenu.Title , サブメニューとして使用したときに表示されるテキスト
  • PluginMenu.Icon , サブメニューとして使用したときに表示されるアイコン
  • PluginMenu:AddAction() , 指定されたアクションをメニューに追加
  • PluginMenu:AddNewAction() , Studio のカスタマイズショートカットウィンドウから非表示になる一時的なアクションを作成
  • PluginMenu:AddMenu() , 指定されたメニューを分離符として追加
  • PluginMenu:AddSeparator() , メニューのアイテム間に分離符を追加
  • PluginMenu:Clear() , メニューをクリアする
  • PluginMenu:ShowAsync() , マウスカーソルでメニューを表示します。アイテムが選択されるか、メニューが閉じるまで生成されます。選択されたアクションは、トリガーされたイベントを発動します

パラメータ

id: string

メニューのユニークID。

既定値: ""
title: string

サブメニューとして使用すると表示されるテキスト。

既定値: ""
icon: string

サブメニューとして使用したときに表示されるアイコン。

既定値: ""

戻り値

コードサンプル

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

プラグインのセキュリティ

CreateToolbar 関数は、指定された名前で新しい PluginToolbar を作成します。ツールバーは、プラグインボタンを作成するために使用できます。

パラメータ

name: string

ツールバー上の表示テキスト、内部に含まれるボタングルをラベル化します。

既定値: ""

戻り値

コードサンプル

Plugin:CreateToolbar

plugin:CreateToolbar("ExampleToolbar")

Deactivate

()
プラグインのセキュリティ

プラグインを無効にします。有効になっている場合は、関連する PluginMouse が切断されます

参照してください:

  • Plugin:Activate() , 呼び出しプラグインの状態を有効に設定
  • Plugin.Deactivation , プラグインが無効になったときに発火する
  • Plugin.Unloading , プラグインがアンインストール、または再読み込み中に即座に発動し、アンインストール、またはアップデートによって無効化される前に

戻り値

()
プラグインのセキュリティ

ユーザーが Studio の [モデル] タブで設定した Enum.JointCreationMode を返します。


戻り値

GetMouse

プラグインのセキュリティ

GetMouse は、プラグインが PluginMouse を通じてアクティブな状態で使用できる Plugin:Activate() を返します。


戻り値

コードサンプル

Plugin:GetMouse

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

GetSelectedRibbonTool

プラグインのセキュリティ

GetSelectedRibbonTool は、現在選択されている Enum.RibbonTool を返します。特定のツールに対応するEnumを返します。これは、ツールが手動またはプログラマティックに Plugin:SelectRibbonTool() を介して選択されているかどうかを返します。


戻り値

コードサンプル

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
プラグインのセキュリティ

指定されたキーで以前に保存された値を取得するか、nil 指定されたキーが存在しない場合。

同じプラグインの複数のインスタンスが同時に実行できるため (例えば、複数の Studio ウィンドウが開いている場合)、この値が時間経過とともに同じままである必要はありません。他のプラグインインスタンスは、設定をいつでも更新できます。

この呼び出しは、同じプラグインの複数のインスタンスがアクティブにデータを読み込み書きする場合、静かに失敗して nil を返すことができます。プラグインが設定に頻繁に書き込むことを期待している場合、この呼び出しの返された値を短時間後に再確認して、一時的に使用できない設定と存在しない設定を区別する必要があります。

パラメータ

key: string
既定値: ""

戻り値

Variant

コードサンプル

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

プラグインのセキュリティ

パラメータ

objects: Instances
既定値: ""

戻り値

IsActivated

プラグインのセキュリティ

この機能は、このプラグインが現在アクティブであるか、Plugin:Activate() 機能を介して有効になった後、このプラグインが返す真実を返します。


戻り値

プラグインが現在アクティブかどうかを示すブール。

IsActivatedWithExclusiveMouse

プラグインのセキュリティ

この機能は、このプラグインが現在、排他的なマウスでアクティブであり、Plugin:Activate() 関数を介して有効になった後、この機能を返します。true は、このプラグインが現在、排他的なマウスでアクティブであることを返します。これが true に返されると、PluginMouse を介して Plugin:GetMouse() から回収できます。

参照してください:

  • Plugin.Deactivation , プラグインが無効になったときに発火する
  • Plugin.Unloading , プラグインがアンインストール、または再読み込み中に即座に発動し、アンインストール、またはアップデートによって無効化される前に

戻り値

このプラグインが現在、排他的なマウスで有効かどうか。

Negate

Instances
プラグインのセキュリティ

指定されたパーツを否定し、結果の否定操作を返す

パラメータ

objects: Instances
既定値: ""

戻り値

Instances

OpenScript

()
プラグインのセキュリティ

指定されたスクリプトインスタンスをエディタウィンドウで開き、Roblox Studio で指定された行で開きます。引数としてラインが指定されない場合、デフォルトで 1 になります。

パラメータ

既定値: ""
lineNumber: number
既定値: 1

戻り値

()

コードサンプル

Plugin:OpenScript

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

OpenWikiPage

()
プラグインのセキュリティ

コンテキストヘルプウィンドウを、url リンクされたウィキページに開きます。

パラメータ

url: string
既定値: ""

戻り値

()

コードサンプル

Plugin:OpenWikiPage

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

SaveSelectedToRoblox

()
プラグインのセキュリティ

ユーザーの現在の選択に対するアップロードウィンドウを開きます。


戻り値

()

SelectRibbonTool

()
プラグインのセキュリティ

指定された Roblox Studio ツールを有効にします。ツールがウィンドウを開くと、ポジションパラメータは画面に表示する場所を指定します。

注意:

  • これが正しく機能するには、オブジェクトが選択されなければなりません。
  • position プロパティのスケールフィールドを変更すると、ダイアログポップアップには影響しません。

パラメータ

既定値: ""
position: UDim2
既定値: ""

戻り値

()

Separate

Instances
プラグインのセキュリティ

指定された UnionOperations を分離し、結果のパーツを返します。

パラメータ

objects: Instances
既定値: ""

戻り値

Instances

SetSetting

()
プラグインのセキュリティ

指定された値を指定されたキーで後で使用するように保存します。値は、Roblox Studio が閉じた後も維持されます。これらの設定は、ストリングキーのあるマップとして JSON 形式で保存されます。配列は、まず数字のキーを文字列に変換してマップに自動的に変換されます。

JSON 形式では、設定ファイルを破損する可能性のある次の文字を含む追加の制限が課されていることに注意してください:

  • キーまたは値のバックスラッシュ ( \ )、特に脱出した引用符 ( \" )。
  • キーの新行 ( \n ) 。
  • キーでの引用 ( " )
  • キーの期間 ( . )。

同じプラグインの複数のインスタンスがアクティブにデータを読み込み書き込んでいる場合、この呼び出しは静かに失敗する可能性があります。プラグインが設定に頻繁に書き込むことを期待している場合、Plugin:GetSetting() を呼び出してデータが適切に書かれているかどうかをチェックできます。

パラメータ

key: string
既定値: ""
value: Variant
既定値: ""

戻り値

()

コードサンプル

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

()
プラグインのセキュリティ

StartDrag はパラメータの辞書を使用してドラッグアクションを開始します。パラメータは次のとおりです:


<th>種類</th>
<th>デフォルト</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>送信者</b></td> <td>文字列</td> <td><code>""</code></td>
<td>
ドラッグアクションのソースをドロップターゲットに識別する
</td>
</tr>
<tr>
<td><b>MimeType</b></td> <td>文字列</td> <td><code>""</code></td>
<td>
The <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types">MIME</a> タイプの <b>データ</b>。
</td>
</tr>
<tr>
<td><b>データ</b></td> <td>文字列</td> <td><code>""</code></td>
<td>
ドラッグアクションに関する情報、例えばドラッグされているもの。ドロップターゲットが使用すべきです。
</td>
</tr>
<tr>
<td><b>マウスアイコン</b></td> <td><code>データタイプ.コンテンツ</code></td> <td><code>""</code></td>
<td>
ドラッグ中にマウスカーソルとして使用するアイコン。空であれば、デフォルトのカーソルを使用します。
</td>
</tr>
<tr>
<td><b>ドラッグアイコン</b></td> <td><code>データタイプ.コンテンツ</code></td> <td><code>""</code></td>
<td>
ドラッグ中にマウスカーソルの下でレンダリングする画像。これはドラッグされているアイテムを表すべきです。
</td>
</tr>
<tr>
<td><b>ホットスポット</b></td> <td><code>データタイプ.ベクトル2</code></td> <td><code>データタイプ.ベクトル2.新規(00)</code></td>
<td>
カーソルが <b>ドラッグアイコン</b> を "保持" する必要がある左上のピクセルオフセット。
</td>
</tr>
</tbody>
名前

参照してください:

パラメータ

dragData: Dictionary
既定値: ""

戻り値

()

コードサンプル

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)
プラグインのセキュリティ

指定されたパーツを結合し、結果の UnionOperation を返します。

パラメータ

objects: Instances
既定値: ""

戻り値

CreateDockWidgetPluginGui

イールド
プラグインのセキュリティ

CreateDockWidgetPluginGui は、指定された DockWidgetPluginGui から新しい DockWidgetPluginGuiInfo を作成します。最初のパラメータ、 pluginGuiId 、はユニークで一貫した文字列であるべきです。ウィジェットのドック状態などの状態と他の内部詳細を保存するために使用されます。

パラメータ

pluginGuiId: string

ウィジェットのドック状態などの他の内部詳細を保存するために使用されるユニークで一貫した識別子。

既定値: ""
dockWidgetPluginGuiInfo: DockWidgetPluginGuiInfo

作成する DockWidgetPluginGui を説明します (初期状態、サイズなど)。

既定値: ""

戻り値

コードサンプル

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

イールド
プラグインのセキュリティ

この機能は、ユーザーに にロードできる .fbx アニメーションファイルを開くように促し、次に にアニメーションを挿入します。

パラメータ

rigModel: Instance
既定値: ""
isR15: boolean
既定値: true

戻り値

ImportFbxRig

イールド
プラグインのセキュリティ

ユーザーに .fbx ファイルを開き、モデルの個々のコンポーネントをメッシュとしてアップロードし、アニメーションで使用するキャラクターリグを生成し、Workspace にロードします。

パラメータ

isR15: boolean
既定値: true

戻り値

PromptForExistingAssetId

イールド
プラグインのセキュリティ

Roblox Studio のウィンドウを開き、ユーザーに指定された assetType に基づいてアセットを選択するよう促します。選択されたアセットIDを返します、またはウィンドウが閉じた場合は -1です。

パラメータ

assetType: string
既定値: ""

戻り値

PromptSaveSelection

イールド
プラグインのセキュリティ

ユーザーに指定されたファイル名で現在の選択を保存するように促します。ファイルを保存した場合は true を返します。

パラメータ

suggestedFileName: string
既定値: ""

戻り値

イベント

Deactivation

プラグインのセキュリティ

Plugin が無効になったときに発射されます。これは、プラグインコードが Plugin:Deactivate() を呼び出すか、または他のプラグインが Plugin:Activate() を呼び出し、それにより他のすべてのプラグインがアクティブな状態を失うために発生します。

参照してください:

  • Plugin.Unloading , プラグインがアンインストール、または再読み込み中に即座に発動し、アンインストール、またはアップデートによって無効化される前に

Unloading

プラグインのセキュリティ

このイベントは、Plugin が実行を停止する前にすぐに発動します。プラグインは無効になったり、削除されたり、更新される予定だったり、場所が閉じるとロードが解除されます。

プラグインがスクリプトの実行が停止する前に自らをクリーンアップするようにします(例えば、不必要なインスタンスを DataModel から削除するため。プラグインが適切にクリーンアップしない場合、古いコピーが残ります。これが発生すると、ユーザーは悪いユーザーエクスペリエンスの場所を閉じて再開することが強制される可能性があります。

プラグイン関連のインスタンス (PluginToolbarButtonsDockWidgetPluginGuisPluginGuisなど) は、プラグインがロードされなくなったときに自動的に削除されるため、削除する必要はありません。