StudioService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
StudioService zapewnia dostęp do konfiguracji Roblox Studio, umożliwia importowanie plików z systemu plików użytkownika oraz inne różne informacje.Ma być używany przez Plugins w celu zapewnienia spójnego doświadczenia użytkownika.
- Wtyczki, które pozwalają użytkownikowi przesuwać obiekty, mogą znaleźć GridSize , RotateIncrement i UseLocalSpace użyteczne.
- Pluginy, które wymagają od użytkownika importowania plików, powinny używać PromptImportFile lub PromptImportFiles w celu otrzymania obiektów File.
- Wtyczki wyświetlające ikony klas instancji mogą używać GetClassIcon .
- Wtyczki, które dbają o to, które skrypt jest obecnie edytowane (jeśli którekolwiek), mogą to odczytać z ActiveScript.
Podsumowanie
Właściwości
Odbija LuaSourceContainer obecnie edytowane (jeśli którekolwiek).
Określa odległość w szpilkach, z jaką narzędzia przeciągania i przesuwania Studio przemieszczają obiekty za każdym biciem.
Określa stopnie, w jakich narzędzie rotacji Studio będzie obracać wybrane obiekty co każdą sekundę.
Lokalny obecnie używany przez Studio, np. en_US .
Określa, czy narzędzia Studio będą używać lokalnej przestrzeni obiektu czy globalnej przestrzeni.
Metody
Zapewnia słownik, który umożliwia wyświetlanie ikonaokna Explorera klasy.
Zwraca identyfikator użytkownika Studio, jeśli jest zalogowany, w przeciwnym razie zwraca 0.
Poproszenie obecnego użytkownika Studio o wybranie jednego pliku do dodania jako File.
Wymaga od obecnego użytkownika Studio wyboru plików do dodania jako Files.
Właściwości
ActiveScript
Aktywny skrypt odnosi się do LuaSourceContainer obecnie edytowanego przez użytkownika.Jeśli użytkownik nie edytuje skryptu, będzie to nil .Poniżej jest przykład, który pokazuje, jak możesz użyć tej właściwości, aby zmierzyć, jak długo skrypt był aktywny.
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
Rozmiar siatki określa odległość w szpilkach, z jaką narzędzia przeciągania i przesuwania Studio przemieszczają obiekty za każdym razem.Jest to ustawione w zakładce Model w pasku narzędzi użytkownika.
RotateIncrement
RotateIncrement określa kąt w stopniach, przez który narzędzie rotacji Studio będzie obracać wybrane obiekty za każdym bitem.Jest to ustawione w zakładce Model w pasku narzędzi użytkownika.
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
Właściwość StudioLocaleId zawiera lokal używany obecnie przez Studio, np. en_US. Jest przydatna podczas lokalizacji pluginów.
Poniżej jest prosty przykład lokalizacji w oparciu o wartość zwróconą przez tę funkcję.
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
Użyj lokalnej przestrzeni określa, czy narzędzia ruchu/obrotu w Studio będą manipulować przestrzenią CFrame części za pomocą lokalnej przestrzeni obiektu lub globalnej przestrzeni.Domyślnie ustawienie to przełącza się za pomocą CtrlL lub ⌘L.Wtyczki mogą odczytywać tę właściwość, jeśli implementują własne narzędzia do przemieszczania obiektów.
Metody
GetClassIcon
GetClassIcon dostarcza słownik, który umożliwia wyświetlanie ikonaokna Explorera klasy, np.Wezwanie tej funkcji z "Częścią" zwraca wartości właściwości, które wyświetlają ikonę części z okna Explorera.
Poniżej jest dosłowne reprezentacje tablicy wartości zwracanej, gdy ta funkcja jest wywoływana za pomocą "Part".
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
Funkcja użytkowa poniżej może okazać się przydatna podczas wyświetlania ikon klasy:
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 -- Ustaw właściwość
end
end
displayClassIcon(imageLabel, "Part")
Parametry
Zwroty
GetUserId
Zwraca identyfikator użytkownika Studio, jeśli jest zalogowany, w przeciwnym razie zwraca 0.
Zwroty
Przykłady kodu
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
Parametry
Zwroty
PromptImportFile
Funkcja ta poprosi obecnego użytkownika Studio o wybranie jednego pliku, który zostanie następnie wczytany jako File.
Zobacz także:
- StudioService:PromptImportFiles() , ta sama funkcja, ale do ładowania listy plików zamiast pojedynczego pliku
Parametry
Lista typów plików, które użytkownik może wybierać.Rodzaje plików są formatowane bez okresu.Na przykład "jpg", "png" pozwoliłoby wybrać tylko plik JPG lub PNG.Jeśli filtr nie jest dostarczony, filtr jest nil i pozwala użytkownikowi wybrać dowolny wpisywać.
Zwroty
PromptImportFiles
Funkcja ta poprosi obecnego użytkownika Studio o wybranie jednego lub więcej plików, które zostaną następnie załadowane jako Files.
Rzuca błąd, jeśli filtr typu pliku był pustą listą.
Zobacz także:
- StudioService:PromptImportFile() , ta sama funkcja, ale do ładowania pojedynczego pliku zamiast listy plików
Parametry
Lista typów plików, które użytkownik może wybierać.Rodzaje plików są formatowane bez okresu.Na przykład "jpg", "png" pozwoliłoby wybrać tylko pliki JPG i PNG.Jeśli filtr nie jest dostarczony, filtr jest nil i pozwala użytkownikowi wybrać dowolny wpisywać.
Zwroty
Importowane Files .Zwraca pustą listę, jeśli żadne pliki nie zostały wybrane.Wyświetla nil jeśli użytkownik wybrał jeden lub więcej plików, które były zbyt duże (Rozmiar pliku większy niż 100 megabajtów).