StudioService

显示已弃用

*此内容使用人工智能(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。 它对于本地化插件有用。

以下是基于此函数返回的值的简单示例。


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

未复制
读取并联

使用本地空间/使用本地空间工具是否会使用对象的 CFrame 使用本地空间或全球空间。 默认情况下,此设置通过 CtrlL 2> ⌘2> 来切换。 插

方法

GetClassIcon

插件安全性

获取类级图标 提供一个词典,可以显示一个类的 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: Array

用户可以选择的文件类型列表。文件类型以空格为分隔符。例如,“jpg”、“png” 将允许 JPG 和 PNG 文件的选择。如果没有提供过滤器,过滤器为空,用户可以选择任何文件输入。

默认值:"{}"

返回

Instances

导入的 Files 。如果没有选择文件,返回一个空列表。如果用户选择了太大的文件(文件大小超过 100 兆字节),返回 nil 。

活动