StudioService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Serviço de Studio fornece acesso à configuração do Roblox Studio, permite a importação de arquivos do sistema de arquivos do usuário e outras informações diversas.Tem a intenção de ser usado por Plugins a fim de fornecer uma experiência de usuário consistente.
- Plugins que permitem que o usuário mova objetos podem encontrar GridSize , RotateIncrement e UseLocalSpace úteis.
- Plugins que requerem que o usuário importe arquivos devem usar PromptImportFile ou PromptImportFiles para receber objetos File.
- Plugins que exibem ícones de classes de Instância podem usar GetClassIcon .
- Plugins que se importam com qual script está sendo editado no momento (se algum) podem ler isso de ActiveScript .
Resumo
Propriedades
Reflete o LuaSourceContainer atualmente sendo editado (se algum).
Determina a distância em studs pelos quais as ferramentas de arrastar e mover do Studio movem objetos a cada tick.
Determina os graus em que a ferramenta de rotação do Studio girará os objetos selecionados a cada tick.
O local atualmente em uso pelo Studio, por exemplo, en_US .
Determina se as ferramentas do Studio usarão o espaço local de um objeto ou o espaço global.
Métodos
Fornece um dicionário que permite o exibição de um ícone de janela Explorer de classe.
Retorna o ID do usuário do Studio se ele estiver logado, caso contrário, retorna 0.
Solicita ao usuário atual do Studio que selecione um arquivo para adicionar como File.
Solicita ao usuário atual do Studio que selecione arquivos para adicionar como Files .
Propriedades
ActiveScript
ActiveScript refere-se ao LuaSourceContainer atualmente sendo editado pelo usuário.Se o usuário não estiver editando um script, isso será nil .Abaixo está um exemplo que mostra como você pode usar essa propriedade para medir por quanto tempo um script esteve ativo.
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
Tamanho da Grade determina a distância em studs pelos quais as ferramentas de arrastar e mover do Studio movem objetos a cada tick.Isso é definido na aba Modelo da barra de ferramentas do usuário.
RotateIncrement
Incremento de Rotação determina o ângulo em graus pelo qual a ferramenta de rotação do Studio girará os objetos selecionados a cada tick.Isso é definido na aba Modelo da barra de ferramentas do usuário.
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
A propriedade StudioLocaleId contém o idioma atualmente em uso pelo Studio, por exemplo en_US. É útil ao localizar plugins.
Abaixo está um exemplo trivial de localização com base no valor retornado por essa função.
local locale = game:GetService("StudioService").StudioLocaleIdif locale == "en_US" thenprint("Howdy, ya'll")elseif locale == "en_GB" thenprint("'Ello, gov'na")elseif locale:sub(1, 2) == "en" thenprint("Hello")elseif locale == "fr_FR" thenprint("Bonjour")end
UseLocalSpace
UseLocalSpace determina se as ferramentas de movimento/rotação do Studio manipularão a CFrame de uma peça usando o espaço local de um objeto ou o espaço global.Por padrão, esta configuração é alternada com CtrlL ou ⌘L .Plugins podem ler dessa propriedade se implementarem suas próprias ferramentas de movimento de objetos.
Métodos
GetClassIcon
GetClassIcon fornece um dicionário que permite o display de um ícone de janela de Explorador de classe, por exemplochamar esta função com "Parte" retorna valores de propriedade que exibem o ícone de parte da janela do Explorer.
Abaixo está uma representação literal da tabela do valor retornado quando essa função é chamada com "Part".
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
A função de utilidade abaixo pode ser útil ao exibir ícones de classe:
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 -- Definir propriedade
end
end
displayClassIcon(imageLabel, "Part")
Parâmetros
Devolução
GetUserId
Retorna o ID do usuário do Studio se ele estiver logado, caso contrário, retorna 0.
Devolução
Amostras de código
The example prints the currently logged in user's ID.
-- 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
Parâmetros
Devolução
PromptImportFile
Essa função solicita que o usuário atual do Studio selecione um arquivo, que então será carregado como um File.
Veja também:
- StudioService:PromptImportFiles() , a mesma função, mas para carregar uma lista de arquivos em vez de um único arquivo
Parâmetros
Uma lista de tipos de arquivo que o usuário pode selecionar.Tipos de arquivo são formatados sem um período.Por exemplo, "jpg", "png" permitiria apenas um arquivo JPG ou PNG ser selecionado.Se nenhum filtro for fornecido, o filtro é nil e permite que o usuário selecione qualquer tipo de arquivo.
Devolução
PromptImportFiles
Essa função solicita que o usuário atual do Studio selecione um ou mais arquivos, que então serão carregados como Files.
Joga um erro se o filtro de tipo de arquivo fosse uma lista vazia.
Veja também:
- StudioService:PromptImportFile() , a mesma função, mas para carregar um único arquivo em vez de uma lista de arquivos
Parâmetros
Uma lista de tipos de arquivo que o usuário pode selecionar.Tipos de arquivo são formatados sem um período.Por exemplo, "jpg", "png" permitiria que apenas arquivos JPG e PNG fossem selecionados.Se nenhum filtro for fornecido, o filtro é nil e permite que o usuário selecione qualquer tipo de arquivo.
Devolução
O importado Files .Retorna uma lista vazia se nenhum arquivo foi selecionado.Retorna nil se o usuário selecionou um ou mais arquivos que eram muito grandes (Tamanho de Arquivo maior que 100 megabytes).