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 dostarcza dostęp do konfiguracji Roblox Studio, umożliwia importowanie plików z systemu plików użytkownika i innych misc. Ma zostać używany przez Plugins w celu zapewnienia spójnego doświadczenia użytkownika.
- Plugins, które umożliwiają użytkownikowi przesuwanie obiektów, mogą znaleźć GridSize , RotateIncrement i UseLocalSpace przydatne.
- Plugins, które wymagają użytkownika do importowania plików, powinny używać PromptImportFile lub PromptImportFiles , aby otrzymać File obiekty.
- Plug-iny, które wyświetlają ikony klas Instancji, mogą używać GetClassIcon .
- Plugins, które dbać o to, który skrypt jest obecnie edytowany (jeśli istnieje) mogą czytać to z ActiveScript .
Podsumowanie
Właściwości
Odzwierciedla aktualnie edytowany LuaSourceContainer (jeśli istnieje).
Określa odległość w milimetrach, z którego Studio przenosi obiekty po każdym kliknięciu.
Określa stopień, w którym narzędzie Studio do obrotu będzie obrócać wybrane obiekty za każdym razem, gdy kursuje.
Lokal używany przez Studio, na przykład en_US .
Określa, czy narzędzia Studio będą używać lokalnej przestrzeni obiektu lub globalnej przestrzeni.
Metody
Dostarcza słownik, który umożliwia wyświetlenie ikonaokna Explorer klasy.
Zwraca identyfikator użytkownika Studio, jeśli jest zalogowany, lub 0, w przeciwnym razie.
Prosi bieżącego użytkownika Studio, aby wybrał jeden plik do dodania jako File .
Prosi bieżącego użytkownika Studio, aby wybrał pliki do dodania jako Files .
Właściwości
ActiveScript
Aktualny skrypt odnosi się do LuaSourceContainer , który jest obecnie edytowany przez użytkownika. Jeśli użytkownik nie edytuje skryptu, to będzie to nil. Poniżej jest przykład, który pokazuje, jak można użyć tej właściwości, aby zmierzyć czas aktywności skryptu.
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 dystans w studs, w którym narzędzia Studio przesuwają obiekty za każdym razem, gdy kliknięcie. Jest ustawiony w sekcji Model użytkownika pod sekcją Zakotwiczone do siatki .
RotateIncrement
RotateIncrement określa kąt w stopniach, w którym narzędzie rotacji Studio będzie kręcić wybrane obiekty za każdym razem, gdy tknięcie. Jest to ustawione w sekcji Modelu użytkownika pod sekcją Zakręć do Sieci .
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
Właściwość StudioLocalId zawiera lokalizację używanych obecnie przez Studio, na przykład en_US. Jest użyfulne podczas lokalizacji wtyczek.
Poniżej przedstawiono trivialny przykład lokalizacji oparty na wartości zwróconej 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
Metody
GetClassIcon
GetClassIcon dostarcza słownik, który umożliwia wyświetlenie ikonaokna Explorer, klasy Explorer, na przykład poprzez wezwanie funkcji "Part" zwraca wartości właściwości, które wyświetlają ikony części z okna Explorer.
Poniżej jest dosłowna tablica przedstawiająca wartość zwróconą, gdy ta funkcja jest wzywana z "Part" .
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
Funkcja utilities poniżej może okazać się przydatna podczas wyświetlania ikonek 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, lub 0, w przeciwnym razie.
Zwroty
Przykłady kodu
-- 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
Ta funkcja prosi obecnego użytkownika Studio, aby wybrał jeden plik, który zostanie potem załadowany jako File .
Zobacz również:
- StudioService:PromptImportFiles() , ta sama funkcja, ale do ładowania listy plików zamiast jednego pliku
Parametry
Lista rodzajów plików, które użytkownik może wybierać. Rodzaje plików są zapisane bez przecinku. Na przykład „jpg”, „png” pozwoliłoby wybrać tylko plik JPG lub PNG. Jeśli nie zostanie dostarczony filtr, to filtr jest nulowy i umożliwia użytkownikowi wybór dowolnego wpisywać.
Zwroty
PromptImportFiles
Ta funkcja prosi obecnego użytkownika Studio, aby wybrał jeden lub więcej plików, które zostaną następnie załadowane jako Files .
Występuje błąd, jeśli filtr typu pliku był pustą listą.
Zobacz również:
- StudioService:PromptImportFile() , ta sama funkcja, ale do ładowania pojedynczego pliku, a nie listy plików
Parametry
Lista rodzajów plików, które użytkownik może wybierać. Rodzaje plików są zapisane bez przecinku. Na przykład „jpg”, „png” pozwala wybrać tylko pliki JPG i PNG. Jeśli nie zostanie określony filtr, to filtr jest nulowy i umożliwia użytkownikowi wybór dowolnego wpisywać.
Zwroty
Importowane Files . Wynika pusta lista, jeśli nie zaznaczono plików. Wynika nil, jeśli użytkownik wybrał jeden lub więcej plików, które były zbyt duże (FileSize większa niż 100 megabajtów).