StudioService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
StudioService proporciona acceso a la configuración de Roblox Studio, permite importar archivos del sistema de archivos del usuario y otra información. Se destinan a ser usados por Plugins para proporcionar una experiencia de usuario consistente.
- Los plugins que permiten al usuario mover objetos pueden encontrar GridSize , RotateIncrement y UseLocalSpace útiles.
- Los plugins que requieren que el usuario importe archivos deben usar PromptImportFile o PromptImportFiles para recibir objetos File.
- Los plugins que muestran iconos de clases de instancia pueden usar GetClassIcon .
- Los plugins que se preocupan por qué script se está editando actualmente (si hay alguno) pueden leer esto desde ActiveScript .
Resumen
Propiedades
Refleja el LuaSourceContainer que se está editando actualmente (si hay alguno).
Determina la distancia en studs por la cual las herramientas de Studio mueven los objetos cada tick.
Determina los grados en los que Studio's herramienta de rotación girará los objetos seleccionados cada tick.
El idioma actualmente en uso por Studio, por ejemplo. en_US .
Determina si las herramientas de Studio usarán espacio local de un objeto o espacio global.
Métodos
Proporciona un diccionario que permite la visualización de un íconode ventana Explorador de clase.
Devuelve el ID de usuario de Studio si está conectado, de lo contrario devuelve 0.
Solicita al usuario actual de Studio que seleccione un archivo para agregar como File .
Solicita al usuario actual de Studio que seleccione archivos para agregar como Files .
Propiedades
ActiveScript
ActiveScript se refiere a la LuaSourceContainer que se está editando activamente por el usuario. Si el usuario no está editando un script, esto será nil . Abajo está un ejemplo que muestra cómo puede usar esta propiedad para medir durante cuánto tiempo un script estuvo activo.
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 determina la distancia en studs por la cual las herramientas de Studio mueven los objetos cada tick. Esto se establece en la pestaña Modelo del usuario debajo de la sección Ajustar a la cuadrícula .
RotateIncrement
RotateIncrement determina el ángulo en grados en que se girará la herramienta de rotación de Studio seleccionados objetos cada toque. Esto se establece en la pestaña Modelo del usuario debajo de la sección Ajustar a la cuadrícula .
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
La propiedad StudioLocalId contiene el idioma actualmente en uso por Studio, por ejemplo, en_US . Es útil cuando se localizan plugins.
A continuación, se muestra un ejemplo trivial de localización basado en el valor que devuelve esta función.
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
Métodos
GetClassIcon
GetClassIcon proporciona un diccionario que permite la visualización de un íconode ventana Explorador de clase, por ejemplo, al llamar esta función con "Parte" se devuelven valores de propiedad que muestran el icono de la parte desde la ventana Explorador.
A continuación, se muestra una representación literal de la tabla cuando esta función se llama con "Part" .
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
La función de utilidad a continuación puede ser útil al mostrar iconos de clase:
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 -- Establecer propiedad
end
end
displayClassIcon(imageLabel, "Part")
Parámetros
Devuelve
GetUserId
Devuelve el ID de usuario de Studio si está conectado, de lo contrario devuelve 0.
Devuelve
Muestras de código
-- 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
Devuelve
PromptImportFile
Esta función solicita al usuario actual de Studio que seleccione un archivo, que luego se cargará como un File .
Véase también:
- StudioService:PromptImportFiles() , la misma función pero para cargar una lista de archivos en lugar de un solo archivo
Parámetros
Una lista de tipos de archivos que el usuario está autorizado a elegir. Los tipos de archivos se formatean sin un signo de interrogación. Por ejemplo, "jpg", "png" solo permitiría seleccionar un archivo JPG o PNG. Si no se proporciona ningún filtro, el filtro es nulo y permite al usuario seleccionar cualquier tipo de archivo.
Devuelve
PromptImportFiles
Esta función solicita al usuario actual de Studio que seleccione uno o más archivos, que luego se cargarán como Files .
Lanza un error si el filtro de tipo de archivo era una lista vacía.
Véase también:
- StudioService:PromptImportFile() , la misma función pero para cargar un solo archivo en lugar de una lista de archivos
Parámetros
Una lista de tipos de archivo que el usuario está autorizado a elegir. Los tipos de archivo se formatean sin un signo de interrogación. Por ejemplo, "jpg", "png" solo permitiría archivos JPG y PNG para ser seleccionados. Si no se proporciona ningún filtro, el filtro es nulo y permite al usuario seleccionar cualquier tipo de archivo.
Devuelve
El Files importado. Muestra una lista vacía si no se seleccionaron archivos. Muestra nulo si el usuario seleccionó uno o más archivos que son demasiado grandes (FileSize mayor a 100 MB).