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

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

    Odbija LuaSourceContainer obecnie edytowane (jeśli którekolwiek).

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

    Określa odległość w szpilkach, z jaką narzędzia przeciągania i przesuwania Studio przemieszczają obiekty za każdym biciem.

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

    Określa stopnie, w jakich narzędzie rotacji Studio będzie obracać wybrane obiekty co każdą sekundę.

  • 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

    Lokalny obecnie używany przez Studio, np. en_US .

  • Bez replikacji
    Odczyt równoległy

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

Metody

Właściwości

ActiveScript

Tylko do odczytu
Bez replikacji
Odczyt równoległy

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

Tylko do odczytu
Bez replikacji
Odczyt równoległy

GridSize

Tylko do odczytu
Bez replikacji
Odczyt równoległy

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

Tylko do odczytu
Bez replikacji
Odczyt równoległy

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

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ść 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").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 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

Zabezpieczenia dodatku plug-in

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

className: string
Wartość domyślna: ""

Zwroty

GetUserId

Zabezpieczenia dodatku plug-in

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.

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
Wartość domyślna: ""
direction: Vector3
Wartość domyślna: ""
raycastParams: RaycastParams
Wartość domyślna: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"

Zwroty

PromptImportFile

Wynik
Zabezpieczenia dodatku plug-in

Funkcja ta poprosi obecnego użytkownika Studio o wybranie jednego pliku, który zostanie następnie wczytany jako File.

Zobacz także:

Parametry

fileTypeFilter: Array

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

Wartość domyślna: "{}"

Zwroty

Zaimportowany File. Powraca nil, jeśli żadne pliki nie zostały wybrane, lub jeśli wybrany plik był zbyt duży (Rozmiar pliku większy niż 100 megabajtów).

PromptImportFiles

Instances
Wynik
Zabezpieczenia dodatku plug-in

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:

Parametry

fileTypeFilter: Array

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

Wartość domyślna: "{}"

Zwroty

Instances

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

Zdarzenia