StudioService

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

無法建立
服務
未複製

StudioService 提供存取 Roblox Studio 的設定,允許從用戶的檔案系統匯入檔案,以及其他隨機資訊。它的目的是由 Plugins 使用,以提供一致的用戶體驗。

概要

屬性

方法

屬性

ActiveScript

唯讀
未複製
平行讀取

ActiveScript 指引用戶正在編輯的 LuaSourceContainer 。如果用戶未編輯指定的腳指令碼,這將是 nil 。以下是一個示例,該示例顯示了如何使用此屬性來測量腳本的活躍時間。


local StudioService = game:GetService("StudioService")
local startTime = os.time()
local activeScript
local function onActiveScriptChanged()
local newActiveScript = StudioService.ActiveScript
if activeScript and newActiveScript ~= activeScript then
local deltaTime = os.time() - startTime
print(("You edited %s for %d:%2.d"):format(activeScript.Name, deltaTime // 60, deltaTime % 60))
end
startTime = os.time()
activeScript = newActiveScript
end
StudioService:GetPropertyChangedSignal("ActiveScript"):Connect(onActiveScriptChanged)

DraggerSolveConstraints

唯讀
未複製
平行讀取

GridSize

唯讀
未複製
平行讀取

GridSize 決定 Studio 拖曳和移動工具每次點擊移動對象的距離。這是在使用者的 模型 標籤下的 鎖定到網格 區域內設置。

Transform snapping tools indicated in Model tab

RotateIncrement

唯讀
未複製
平行讀取

RotateIncrement 決定 Studio 旋轉工具每次點擊會旋轉選取對象的角度。這是在使用者的 模型 標籤下的 鎖定到網格 區域的設定。

Transform snapping tools indicated in Model tab

Secrets

Roblox 指令碼安全性
平行讀取

ShowConstraintDetails

唯讀
未複製
平行讀取

ShowWeldDetails

唯讀
未複製
Roblox 指令碼安全性
平行讀取

StudioLocaleId

唯讀
未複製
平行讀取

StudioLocalId 屬性包含 Studio 目前使用的地區,例如 en_US。當 localize 插件時有助於。

下面是基於此功能返回的值的極其簡單的本地化範例。


local locale = game:GetService("StudioService").StudioLocaleId
if locale == "en_US" then
print("Howdy, ya'll")
elseif locale == "en_GB" then
print("'Ello, gov'na")
elseif locale:sub(1, 2) == "en" then
print("Hello")
elseif locale == "fr_FR" then
print("Bonjour")
end

UseLocalSpace

未複製
平行讀取

使用本地空間/旋轉工具會否操作對象的 Class.BasePart.CFrame|CFrame ,使用對象或全球空間的本地空間。 預設情況下,此設定會與 Ctrl 0>L0> 或 3>⌘ 3> 切換。

方法

GetClassIcon

外掛程式安全性

獲得ClassIcon 提供一個典型,允許顯示一個類' Explorer 窗口圖示,例如使用 "Part" 呼叫此函數會返回屬性值,顯示從 Explorer 窗口顯示零件圖示。

下表是 "Part" 函數呼叫時返回的值的文字表示。


{
Image = "rbxasset://textures/ClassImages.png",
ImageRectOffset = Vector2.new(16, 0),
ImageRectSize = Vector2.new(16, 16)
}

下面的工具功能可能會顯示時很有用:


local StudioService = game:GetService("StudioService")
local imageLabel = script.Parent
local function displayClassIcon(image, className)
for k, v in StudioService:GetClassIcon(className) do
image[k] = v -- 設定屬性
end
end
displayClassIcon(imageLabel, "Part")

參數

className: string

返回

GetUserId

外掛程式安全性

如果 Studio 使用者已登入,則返回 Studio 使用者的使用者名稱,否則返回 0。


返回

範例程式碼

StudioService:GetUserId

-- Can only be used in a plugin
local StudioService = game:GetService("StudioService")
local Players = game:GetService("Players")
local loggedInUserId = StudioService:GetUserId()
local loggedInUserName = Players:GetNameFromUserIdAsync(loggedInUserId)
print("Hello,", loggedInUserName)

GizmoRaycast

外掛程式安全性

參數

origin: Vector3
direction: Vector3
raycastParams: RaycastParams
預設值:"RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

返回

PromptImportFile

暫停
外掛程式安全性

此功能提示當前 Studio 使用者選擇一個檔案,然後會以 File 的格式載入。

也看:

參數

fileTypeFilter: Array

一個用戶可以選擇的檔案類型清單。檔案類型以點數無效。例如,「jpg」、「png」 只允許 JPG 或 PNG 檔案。如果沒有提供過濾器,濾器為空,允許用戶選擇任何檔案輸入。

預設值:"{}"

返回

导入的 File 。如果没有选择文件,或者选择的文件太大(文件大小大于 100 兆字节),将返回 nil。

PromptImportFiles

Instances
暫停
外掛程式安全性

此功能提示當前 Studio 使用者選擇一個或多個檔案,然後會以 Files 的方式載入。

如果 fileTypeFilter 是空白清單,則會發生錯誤。

也看:

參數

fileTypeFilter: Array

一個用戶可以選擇的檔案類型清單。檔案類型以點數格式而不是標號格式來格式化。例如,「jpg」、「png」將只允許 JPG 和 PNG 檔案來選擇。如果沒有提供過濾器,過濾器將為空,並允許用戶選擇任何檔案輸入。

預設值:"{}"

返回

Instances

导入的 Files 。如果沒有選擇任何文件,則會返回空白清單。如果使用者選擇了太大的文件(FileSize 大於 100 個兆),則會返回零。

活動