StudioService
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
StudioService cung cấp quyền truy cập vào cấu hình của Roblox Studio, cho phép nhập các tập tin từ hệ thống tập tin của người dùng và các thông tin khác. Nó được định dùng để được sử dụng bởi Plugins để cung cấp một trải nghiệm người dùng
- Các plugin cho phép người dùng di chuyển các thống kê có thể tìm thấy GridSize , RotateIncrement và UseLocalSpace hữu ích.
- Các plugin yêu cầu người dùng nhập các tập tin nên sử dụng PromptImportFile hoặc PromptImportFiles để nhận được File đối tượng.
- Các plugin hiển thị biểu tượng lớp học có thể sử dụng GetClassIcon .
- Các plugin quan tâm đến việc xử lý các tập tin nào hiện đang được chỉnh sửa (nếu có) có thể đọc nó từ ActiveScript .
Tóm Tắt
Thuộc Tính
Phản ánh Class.LuaSourceContainer hiện đang được chỉnh sửa (nếu có).
Xác định khoảng cách trong studs mà các công cụ kéo và di chuyển của Studio di chuyển đối tượng mỗi lần nhấp chuột.
Xác định các độ bằng mà Studio's công cụ quay sẽ quay đối tượng được chọn mỗi lần tích tắt.
Ngôn ngữ hiện đang được sử dụng bởi Studio, v.v. en_US .
Xác định có sử dụng phần mềm Studio không gian địa phương của một đối tượng hoặc không gian toàn cầu.
Phương Pháp
Cung cấp một từ điển cho phép hiển thị biểu tượng của một cửa sổ Explorer của lớp.
Lấy ID người dùng Studio nếu họ đã đăng nhập, nếu không thì trả về 0.
Yêu cầu người dùng Studio hiện tại chọn một tập tin để thêm vào là một File .
Yêu cầu người dùng Studio hiện tại chọn tập tin để thêm vào bằng cách Files .
Thuộc Tính
ActiveScript
ActiveScript đề cập đến LuaSourceContainer đang được chỉnh sửa bởi người dùng. Nếu người dùng không đang chỉnh sửa một script, điều này sẽ là nil . Dưới đây là một ví dụ cho thấy bạn có thể sử dụng thuộc tính này để
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
Kích thước lưới xác định khoảng cách trong studs mà các công cụ kéo và di chuyển của Studio di chuyển đối tượng mỗi lần nhấp chuột. Điều này được thiết lập trong Mô Hình tab người dùng dưới phần Kéo vào lưới Snap.
RotateIncrement
Tăng tỷ lệ quay của Studio theo từng thời gian dưới đây. Điều này được thiết lập trong Mô Hình Model tab người dùng dưới phần Kết hợp với lưới .
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
Thuộc tính StudioLocalId chứa cấu hình ngôn ngữ hiện đang được sử dụng bởi Studio, v.v. en_US . Nó hữu ích khi localize các plugin.
Dưới đây là một ví dụ minh họa về bản địa hóa dựa trên giá trị được trả lại bởi hàm này.
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
Phương Pháp
GetClassIcon
GetClassIcon cung cấp một từ điển cho phép hiển thị một biểu tượng class' Explorer, ví dụ, gọi chức năng này với "Part" trả về giá trị trả lại của biểu tượng class' từ cửa sổ Explorer.
Dưới đây là một biểu tượng bảng chỉ thị giá trị được trả khi chức năng này được gọi với "Part" .
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
Hàm chức năng dưới đây có thể hữu ích khi hiển thị biểu tượng lớp:
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 -- Tùy chỉnh thuộc tính
end
end
displayClassIcon(imageLabel, "Part")
Tham Số
Lợi Nhuận
GetUserId
Lấy ID người dùng Studio nếu họ đã đăng nhập, nếu không thì trả về 0.
Lợi Nhuận
Mẫu mã
-- 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
Tham Số
Lợi Nhuận
PromptImportFile
Hành động này yêu cầu người dùng Studio hiện tại chọn một tập tin, sau đó nó sẽ được tải như một File .
Xem thêm:
- StudioService:PromptImportFiles() , cùng một chức năng nhưng để tải một danh sách các tập tin thay vì một tập tin duy nhất
Tham Số
Một danh sách các loại tập tin mà người dùng được phép chọn. Các loại tập tin được biểu tượng không có dấu chấm câu. Ví dụ, "jpg", "png" sẽ cho phép chỉ một loại tập tin JPG hoặc PNG để được lựa chọn. Nếu không cung cấp lọc, lọc là nil và cho phép người dùng chọn bất
Lợi Nhuận
PromptImportFiles
Hành động này yêu cầu người dùng Studio hiện tại chọn một hoặc nhiều tập tin, sau đó chúng sẽ được tải như Files .
Ném một lỗi nếu fileTypeFilter là một danh sách trống.
Xem thêm:
- StudioService:PromptImportFile() , cùng một chức năng nhưng để tải một tập tin duy nhất thay vì một danh sách các tập tin
Tham Số
Một danh sách các loại tập tin mà người dùng được phép chọn. Các loại tập tin được biểu tượng không có dấu chấm câu. Ví dụ, "jpg", "png" sẽ cho phép chỉ có các tập tin JPG và PNG để được lựa chọn. Nếu không cung cấp bộ lọc, bộ lọc là nil và cho phép người dùng chọn bất k
Lợi Nhuận
Các Files đã nhập. Trả lại một danh sách trống nếu không có tập tin được chọn. Trả lại nil nếu người dùng đã chọn một hoặc nhiều tập tin quá lớn (FileSize lớn hơn 100 megabytes).