StudioService

Pokaż przestarzałe

*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.

Brak możliwości tworzenia
Usługa
Bez replikacji

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

  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy

    Odzwierciedla aktualnie edytowany LuaSourceContainer (jeśli istnieje).

  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy
  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy

    Określa odległość w milimetrach, z którego Studio przenosi obiekty po każdym kliknięciu.

  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy

    Określa stopień, w którym narzędzie Studio do obrotu będzie obrócać wybrane obiekty za każdym razem, gdy kursuje.

  • Zabezpieczenia skryptów Roblox
    Odczyt równoległy
  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy
  • Tylko do odczytu
    Bez replikacji
    Zabezpieczenia skryptów Roblox
    Odczyt równoległy
  • Tylko do odczytu
    Bez replikacji
    Odczyt równoległy

    Lokal używany przez Studio, na przykład en_US .

  • Bez replikacji
    Odczyt równoległy

    Określa, czy narzędzia Studio będą używać lokalnej przestrzeni obiektu lub globalnej przestrzeni.

Metody

Właściwości

ActiveScript

Tylko do odczytu
Bez replikacji
Odczyt równoległy

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

Tylko do odczytu
Bez replikacji
Odczyt równoległy

GridSize

Tylko do odczytu
Bez replikacji
Odczyt równoległy

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 .

Transform snapping tools indicated in Model tab

RotateIncrement

Tylko do odczytu
Bez replikacji
Odczyt równoległy

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 .

Transform snapping tools indicated in Model tab

Secrets

Zabezpieczenia skryptów Roblox
Odczyt równoległy

ShowConstraintDetails

Tylko do odczytu
Bez replikacji
Odczyt równoległy

ShowWeldDetails

Tylko do odczytu
Bez replikacji
Zabezpieczenia skryptów Roblox
Odczyt równoległy

StudioLocaleId

Tylko do odczytu
Bez replikacji
Odczyt równoległy

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").StudioLocaleId
if locale == "en_US" then
print("Howdy, ya'll")
elseif locale == "en_GB" then
print("'Ello, gov'na")
elseif locale:sub(1, 2) == "en" then
print("Hello")
elseif locale == "fr_FR" then
print("Bonjour")
end

UseLocalSpace

Bez replikacji
Odczyt równoległy

Użyj lokalnej przestrzeni roboczej określa, czy narzędzia ruchu / obrotu Studio będą manipulować część CFrame przy użyciu lokalnej przestrzeni obiektu lub globalnej przestrzeni. Domyślnie ustawienie to jest przełączane z <

Metody

GetClassIcon

Zabezpieczenia dodatku plug-in

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

className: string

Zwroty

GetUserId

Zabezpieczenia dodatku plug-in

Zwraca identyfikator użytkownika Studio, jeśli jest zalogowany, lub 0, w przeciwnym razie.


Zwroty

Przykłady kodu

StudioService:GetUserId

-- 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

Zabezpieczenia dodatku plug-in

Parametry

origin: Vector3
direction: Vector3
raycastParams: RaycastParams
Wartość domyślna: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Zwroty

PromptImportFile

Wynik
Zabezpieczenia dodatku plug-in

Ta funkcja prosi obecnego użytkownika Studio, aby wybrał jeden plik, który zostanie potem załadowany jako File .

Zobacz również:

Parametry

fileTypeFilter: Array

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ć.

Wartość domyślna: "{}"

Zwroty

Importowane File . Wynika nil, jeśli nie zaznaczono plików, lub jeśli plik zaznaczony był zbyt duży (FileSize większa niż 100 megabajtów).

PromptImportFiles

Instances
Wynik
Zabezpieczenia dodatku plug-in

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ż:

Parametry

fileTypeFilter: Array

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ć.

Wartość domyślna: "{}"

Zwroty

Instances

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).

Zdarzenia