StudioService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
StudioService memberikan akses ke konfigurasi Roblox Studio, memungkinkan impor file dari sistem file pengguna, dan informasi lain-lain.Dimaksudkan untuk digunakan oleh Plugins untuk memberikan pengalaman pengguna yang konsisten.
- Plugin yang memungkinkan pengguna untuk bergerak objek dapat menemukan GridSize , RotateIncrement dan UseLocalSpace berguna.
- Plugin yang memerlukan pengguna untuk mengimpor file harus menggunakan PromptImportFile atau PromptImportFiles untuk menerima objek File.
- Plugin yang menampilkan ikon kelas Instans dapat menggunakan GetClassIcon .
- Plugin yang peduli dengan skrip mana yang saat ini sedang diedit (jika ada) dapat membaca ini dari ActiveScript .
Rangkuman
Properti
Mencerminkan LuaSourceContainer saat ini sedang diedit (jika ada).
Menentukan jarak dalam studs di mana alat seret dan gerakkan Studio pindahkan objek setiap detik.
Menentukan derajat di mana alat rotasi Studio akan memutar objek yang dipilih setiap detik.
Lokasi saat ini yang digunakan oleh Studio, misalnya en_US .
Menentukan apakah alat Studio akan menggunakan ruang lokal dari objek atau ruang global.
Metode
Memberikan kamus yang memungkinkan tampilan ikon jendela Explorer kelas.
Kembalikan id pengguna Studio jika mereka masuk, lainnya mengembalikan 0.
Meminta pengguna Studio saat ini untuk memilih satu file untuk ditambahkan sebagai File .
Meminta pengguna Studio saat ini untuk memilih file untuk ditambahkan sebagai Files .
Properti
ActiveScript
ActiveScript merujuk pada LuaSourceContainer saat ini sedang diedit oleh pengguna.Jika pengguna tidak mengedit skrip, ini akan menjadi nil .Di bawah ini adalah contoh yang menunjukkan bagaimana Anda dapat menggunakan properti ini untuk mengukur berapa lama skrip aktif.
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
Ukuran Grid menentukan jarak dalam studs di mana alat seret dan gerak Studio pindahkan objek setiap detik.Ini ditetapkan di tab Model di bilah alat pengguna.
RotateIncrement
RotateIncrement menentukan sudut dalam derajat oleh alat rotasi Studio yang akan memutar objek yang dipilih setiap tik.Ini ditetapkan di tab Model di bilah alat pengguna.
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
Properti StudioLocaleId berisi lokasi yang saat ini digunakan oleh Studio, misalnya en_US. Ini berguna saat melokalisasi plugin.
Di bawah ini adalah contoh sederhana tentang lokalisasi berdasarkan nilai yang dikembalikan oleh fungsi ini.
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
UseLocalSpace
Gunakan Ruang Lokal menentukan apakah alat gerakan/rotasi Studio akan memanipulasi bagian CFrame menggunakan ruang lokal dari objek atau ruang global.Secara default, pengaturan ini diaktifkan dengan CtrlL atau ⌘L .Plugin dapat membaca dari properti ini jika mereka menerapkan alat gerakan objek sendiri.
Metode
GetClassIcon
DapatkanClassIcon memberikan kamus yang memungkinkan tampilan ikon jendela Explorer kelas, misalnyamemanggil fungsi ini dengan "Bagian" men返回 property nilai yang menampilkan ikon bagian dari jendela Explorer.
Di bawah ini adalah representasi tabel literal dari nilai yang dikembalikan saat fungsi ini dipanggil dengan "Part" .
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
Fungsi utilitas di bawah ini dapat terbukti berguna saat menampilkan ikon kelas:
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 -- Tetapkan properti
end
end
displayClassIcon(imageLabel, "Part")
Parameter
Memberikan nilai
GetUserId
Kembalikan id pengguna Studio jika mereka masuk, lainnya mengembalikan 0.
Memberikan nilai
Contoh Kode
The example prints the currently logged in user's ID.
-- 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
Parameter
Memberikan nilai
PromptImportFile
Fungsi ini meminta pengguna Studio saat ini untuk memilih satu file, yang kemudian akan dimuat sebagai File .
Lihat juga:
- StudioService:PromptImportFiles() , fungsi yang sama tetapi untuk memuat daftar file bukan satu file
Parameter
Daftar jenis file yang diizinkan pengguna untuk dipilih.Jenis file diformat tanpa periode.Sebagai contoh, "jpg", "png" hanya akan memungkinkan file JPG atau PNG untuk dipilih.Jika tidak ada filter yang disediakan, filter adalah nil dan memungkinkan pengguna untuk memilih ketikfile apa pun.
Memberikan nilai
PromptImportFiles
Fungsi ini meminta pengguna Studio saat ini untuk memilih satu atau lebih file, yang kemudian akan dimuat sebagai Files .
Membuang kesalahan jika filter fileType adalah daftar kosong.
Lihat juga:
- StudioService:PromptImportFile() , fungsi yang sama tetapi untuk memuat satu file bukan daftar file
Parameter
Daftar jenis file yang diizinkan pengguna untuk dipilih.Jenis file diformat tanpa periode.Sebagai contoh, "jpg", "png" hanya akan memungkinkan file JPG dan PNG untuk dipilih.Jika tidak ada filter yang disediakan, filter adalah nil dan memungkinkan pengguna untuk memilih ketikfile apa pun.
Memberikan nilai
Impor Files yang diimpor.Kembalikan daftar kosong jika tidak ada file yang dipilih.Kembalikan nil jika pengguna memilih satu atau lebih file yang terlalu besar (Ukuran File lebih dari 100 megabait).