StudioService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
StudioService Roblox Studio'nun yapılandırmasına erişimi sağlar, kullanıcının dosya sisteminden dosyaları ithal etmeyi ve diğer gizli bilgileri sağlar. Konsistent bir kullanıcı deneyimi sağlamak için Plugins tarafından kullanılacak şekilde tasarlanmıştır.
- Kullanıcının nesneleri hareket etmesine izin veren eklentiler GridSize , RotateIncrement ve UseLocalSpace 'i faydalı bulabilir.
- Kullanıcının dosyaları ithal etmesini gerektiren eklentiler PromptImportFile veya PromptImportFiles kullanmalıdır, böylece File nesneleri alınabilir.
- İstemci sınıfı simgelerini gösteren eklentiler GetClassIcon kullanabilir.
- Mevcut olarak hangi senaryonun düzenlendiğini önemseyecek olan eklentiler ActiveScript 'dan bunu okuyabilir.
Özet
Özellikler
Şu anda düzenlenen LuaSourceContainer'yı yansıtır (isteğe bağlı).
Stüdyo'nun sürükleme ve hareket araçlarının her bir tıklamada hareket ettikleri mesafeyi belirler.
Stüdyo'nun dönme aletinin seçili nesneleri her tıklama için döneceği derecesi belirler.
Studio'nun şu anda kullandığı lokasyon, örneğin en_US .
Studio araçlarının bir nesnenin yerel alanını veya küresel alanını kullanıp kullanmayacağını belirler.
Yöntemler
Bir Class' Explorer pencere simgesinin görüntülenmesine izin veren bir sözlük sağlar.
Studio kullanıcısının kullanıcı kimliğini iade eder (eğer giriş yapmışsa), aksi takdirde 0 döndürür.
Mevcut Studio kullanıcısına bir File ekleme olarak bir dosya seçmesini talep eder.
Mevcut Studio kullanıcısının dosyaları eklemek için seçmesini isterir Files .
Özellikler
ActiveScript
AktifScript , kullanıcının şu anda LuaSourceContainer 'yı düzenlediği şeyi ifade eder. Eğer kullanıcı bir skripti düzenlemiyorsa, bu nil olacaktır. Aşağıda, kullanıcının bir özelliği kullanarak kaç saniye bir özelliği aktif olarak tutacağını öl
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'nun her takılma işlemi yaptığı nesnelerin mesafesini belirler. Bu, kullanıcının Model Grid bölümündeki 0>Snap to Grid0> bölümünde ayarlanır.
RotateIncrement
RotateIncrement Studio'nun dönme aracının seçili nesneleri her bir tıkta döneceği açıyı derece olarak belirler. Bu, kullanıcının Model Ekranına Yapıştır bölümündeki 0>Snap to Grid0> bölümünde ayarlanır.
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
The StudioLocalId property contains the currently in-use by Studio, e.g. en_US . It is useful when localizing plugins.
Aşağıda bu işlevin döndüğü değerlerle bazı yerelleştirme örnekleri verilmiştir.
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
Yöntemler
GetClassIcon
ClassIcon alınır bir sözlük sağlar, böylece bir Class Explorer pencere simgegörüntülenmesine izin veren bir dizin kısmını gösterir, örneğin "Parça" ile bu işlevi çağırmak, Explorer pencere ikonunun görüntülenmesini gösteren bir özellik değerini döndürür.
Aşağıda, bu işlev "Part" ile çağrıldığında döndürülen değerin harfiah temsilidir.
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
Aşağıdaki utilite işlevi, sınıf simgelerini gösterirken yararlı olabilir:
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 -- Özellik ayarları
end
end
displayClassIcon(imageLabel, "Part")
Parametreler
Dönüşler
GetUserId
Studio kullanıcısının kullanıcı kimliğini iade eder (eğer giriş yapmışsa), aksi takdirde 0 döndürür.
Dönüşler
Kod Örnekleri
-- 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
Parametreler
Dönüşler
PromptImportFile
Bu işlev, mevcut Studio kullanıcısının bir dosyayı seçmesini isterir, bu da sonra bir File olarak yüklenecektir.
Ayrıca bakınız:
- StudioService:PromptImportFiles() , aynı işlev, ancak tek bir dosya yerine bir liste yüklemek için
Parametreler
Kullanıcının seçmesine izin verilen dosya türlerinin bir listesi. Dosya türleri virgül olmadan biçimlendirilmiştir. Örneğin, "jpg", "png" sadece bir JPG veya PNG dosyasını seçmesine izin verir. Eğer hiçbir filtre sağlanmazsa, filtre boştır ve kullanıcının herhangi bir dosya yazseçmesine izin verir.
Dönüşler
PromptImportFiles
Bu işlev, mevcut Studio kullanıcısının bir veya daha fazla dosyayı seçmesini isterir, bu da Files olarak yüklenecektir.
ファイルタイプフィルター boş bir liste ise bir hata atar.
Ayrıca bakınız:
- StudioService:PromptImportFile() , aynı işlev, ancak bir liste değil bir tek dosyayı yükleme için
Parametreler
Kullanıcının seçmesine izin verilen dosya türlerinin bir listesi. Dosya türleri virgül olmadan biçimlendirilmiştir. Örneğin, "jpg", "png" sadece JPG ve PNG dosyalarını seçmenizi sağlar. Eğer hiçbir filtre sağlanmazsa, filtre boştur ve kullanıcının herhangi bir dosya yazseçmesine izin verir.
Dönüşler
Aktarılan Files . Seçilmiş hiçbir dosya olmadığında boş bir liste içerir. Seçilmiş kullanıcının çok büyük dosyalardan birini veya daha fazlasını seçmesi durumunda hiçbir şey içeri dönmez.