StudioService 는 Roblox Studio의 구성에 액세스 권한을 제공하며, 사용자의 파일 시스템에서 파일을 가져오고 다른 미사일 정보를 가져옵니다. 일관된 사용자 경험을 제공하기 위해 Plugins에 의해 사용되어야 합니다.
- 사용자가 파일을 가져올 수 있도록 하는 플러그인은 PromptImportFile 또는 PromptImportFiles를 사용하여 파일을 수신해야 합니다.
- 인스턴스 클래스의 아이콘을 표시하는 플러그인은 GetClassIcon 을 사용할 수 있습니다.
- 현재 편집 중인 스크립트를 관리하는 플러그인(있으면)은 ActiveScript 에서 읽을 수 있습니다.
요약
속성
현재 편집 중인 LuaSourceContainer를 반영합니다(있으면).
Studio 끌기 및 이동 도구가 각 클릭마다 이동하는 거리를 결정합니다.
Studio 회전 도구가 선택한 개체를 각 클릭마다 회전하는 정도를 결정합니다.
현재 Studio에서 사용 중인 지역, 예를 들어 en_US.
Studio 도구가 개체의 로컬 공간을 사용할지 여부를 결정합니다.
메서드
속성
ActiveScript
ActiveScript 는 사용자가 편집 중인 LuaSourceContainer 를 참조합니다. 사용자가 스크립트를 편집하지 않은 경우, 이것은 nil 이 됩니다. 아래는 스크립트가 활성인 동안 측정하는 시간을 보여줍니다.
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
GridSize 는 Studio의 드래그 및 이동 도구가 개체를 이동할 때마다 스터드 단위의 거리를 결정합니다. 이는 사용자의 모델 탭에서 스냅 그리드 섹션에서 설정됩니다.
RotateIncrement
RotateIncrement 는 Studio의 회전 도구가 선택한 개체를 각 클릭마다 회전하는 각도를 결정합니다. 이는 사용자의 모델 탭에 있는 스냅 그리드 섹션의 사용자 0>모델0> 에 설정됩니다.
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
StudioLocalId 속성에는 Studio에서 현재 사용 중인 지역이 포함되어 있습니다. 예를 들어, en_US입니다. 플러그인을 현지화할 때 유용합니다.
다음은 이 함수가 반환하는 값을 기반으로 한 간단한 예입니다.
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
메서드
GetClassIcon
ClassIcon 얻기 는 클래스 탐색기 창 아이콘을 표시하는 사전을 제공하므로, "Part"로 이 함수를 호출하면 탐색기 창에서 부품 아이콘을 표시하는 속성 값을 반환합니다.
아래에는 이 함수를 호출했을 때 반환된 값의 문자열 표시가 있습니다. "Part" .
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
아래 유틸리티 함수는 클래스 아이콘을 표시할 때 유용할 수 있습니다.
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 -- 속성 설정
end
end
displayClassIcon(imageLabel, "Part")
매개 변수
반환
GetUserId
로그인한 경우 Studio 사용자의 ID를 반환합니다. 그렇지 않으면 0을 반환합니다.
반환
코드 샘플
-- 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
매개 변수
반환
PromptImportFile
이 함수는 현재 Studio 사용자가 하나의 파일을 선택하도록 요청하며, 그 다음 File로 로드됩니다.
또한 참조하십시오.
- StudioService:PromptImportFiles() , 동일한 기능이지만 하나의 파일이 아닌 목록을 로드하는 경우
매개 변수
사용자가 선택할 수 있는 파일 유형의 목록. 파일 유형은 마침표 없이 형식화됩니다. 예를 들어, "jpg", "png"은 JPG 또는 PNG 파일만 선택할 수 있습니다. 필터가 제공되지 않으면 필터는 일반적으로 0이며 사용자가 파일 입력선택할 수 있습니다.
반환
PromptImportFiles
이 함수는 현재 Studio 사용자가 하나 이상의 파일을 선택하도록 요청하며, 그 다음 Files로 로드됩니다.
파일 형식 필터가 비어 있으면 오류가 발생합니다.
또한 참조하십시오.
- StudioService:PromptImportFile() , 동일한 기능이지만 목록이 아닌 하나의 파일을 로드하는 경우
매개 변수
사용자가 선택할 수 있는 파일 형식의 목록. 파일 형식은 마침표 없이 형식이 지정됩니다. 예를 들어, "jpg", "png"은 JPG 및 PNG 파일만 선택할 수 있습니다. 필터가 제공되지 않으면 필터는 일반적으로 0이며 사용자가 파일 입력선택할 수 있습니다.
반환
가져온 Files . 파일이 선택되지 않으면 빈 목록을 반환합니다. 사용자가 파일 크기를 초과하는 파일을 선택하면 파일 크기를 초과하는 파일을 반환합니다(파일 크기가 100MB 이상).