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 la importación de archivos desde el sistema de archivos del usuario y otra información miscelánea.Está destinado a ser utilizado 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 está siendo editado actualmente (si es que hay alguno) pueden leer esto de ActiveScript .
Resumen
Propiedades
Refleja el LuaSourceContainer que está siendo editado actualmente (si es que hay alguno).
Determina la distancia en studs por la cual las herramientas de arrastre y movimiento de Studio mueven objetos en cada tic.
Determina los grados en los que la herramienta de rotación de Studio rotará los objetos seleccionados en cada tic.
El idioma actualmente en uso por Studio, por ejemplo en_US .
Determina si las herramientas de Studio usarán el espacio local de un objeto o el espacio global.
Métodos
Proporciona un diccionario que permite la visualización de un íconode ventana de explorador de clase.
Devuelve el ID de usuario de Studio si está iniciado sesión, 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 al LuaSourceContainer que actualmente está siendo editado por el usuario.Si el usuario no está editando un script, este será nil .A continuación, se muestra un ejemplo que muestra cómo puede usar esta propiedad para medir cuánto tiempo estuvo activo un script.
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
Tamaño de la cuadrícula determina la distancia en studs por la cual las herramientas de arrastrar y mover de Studio mueven objetos en cada tic.Esto se establece en la pestaña Modelo de la barra de herramientas del usuario.
RotateIncrement
Incremento de rotación determina el ángulo en grados con el cual la herramienta de rotación de Studio rotará los objetos seleccionados en cada tic.Esto se establece en la pestaña Modelo de la barra de herramientas del usuario.
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
La propiedad StudioLocaleId contiene el idioma actualmente en uso por Studio, por ejemplo en_US. Es útil al traducir plugins.
A continuación se muestra un ejemplo trivial de localización basado en el valor devuelto por 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
UseLocalSpace
UseLocalSpace determina si las herramientas de movimiento/rotación de Studio manipularán el CFrame de una parte usando el espacio local de un objeto o el espacio global.Por defecto, esta configuración se alterna con CtrlL o ⌘L .Los plugins pueden leer de esta propiedad si implementan sus propias herramientas de movimiento de objetos.
Métodos
GetClassIcon
GetClassIcon proporciona un diccionario que permite la visualización de un íconode ventana de explorador de clase, por ejemploLlamar a esta función con "Parte" devuelve valores de propiedad que muestran el icono de parte desde la ventana del explorador.
A continuación se muestra una representación literal de la tabla del valor devuelto cuando se llama esta función 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á iniciado sesión, de lo contrario devuelve 0.
Devuelve
Muestras 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
Devuelve
PromptImportFile
Esta función le pide al usuario actual de Studio que seleccione un archivo, que luego se cargará como un File .
Vea 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 archivo que el usuario está autorizado a elegir.Los tipos de archivo se formatean sin un período.Por ejemplo, "jpg", "png" permitiría que solo se seleccionara un archivo JPG o PNG.Si no se proporciona un filtro, el filtro es nil 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.
Vea 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 período.Por ejemplo, "jpg", "png" permitiría que solo se seleccionaran archivos JPG y PNG.Si no se proporciona un filtro, el filtro es nil y permite al usuario seleccionar cualquier tipo de archivo.
Devuelve
El importado Files .Devuelve una lista vacía si no se seleccionaron archivos.Devuelve nil si el usuario seleccionó uno o más archivos que eran demasiado grandes (FileSize mayor que 100 megabytes).