StudioService
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
StudioService fornisce l'accesso alla configurazione di Roblox Studio, consente l'importazione dei file dal sistema di file dell'utente e altre informazioni. È destinato ad essere utilizzato da Plugins per fornire un'esperienza utente coerente.
- I plugin che consentono all'utente di spostare gli oggetti possono trovare GridSize , RotateIncrement e UseLocalSpace utili.
- I plugin che richiedono l'importazione di file dall'utente dovrebbero utilizzare PromptImportFile o PromptImportFiles in modo da ricevere oggetti File .
- I plugin che visualizzano le icone delle classi dell'istanza possono usare GetClassIcon .
- I plugin che si prendono cura di quale script è attualmente in corso di modifica (se uno) possono leggere questo da ActiveScript .
Sommario
Proprietà
Riflette il LuaSourceContainer attualmente in fase di modifica (se applicabile).
Determina la distanza in studs con cui gli strumenti di trascinamento e spostamento di Studio muovono gli oggetti ogni tik.
Determina i gradi in cui Studio's tool di rotazione ruoterà gli oggetti selezionati ogni tik.
La lingua attualmente in uso da Studio, ad esempio. en_US .
Determina se gli strumenti di Studio useranno lo spazio locale di un oggetto o lo Spazioglobale.
Metodi
Fornisce un dizionario che consente l'esibizione di un'Iconadi classe Explorer.
Restituisce l'ID utente di Studio se è connesso, altrimenti restituisce 0.
Invita l'utente attuale di Studio a selezionare un file da aggiungere come File .
Invita l'utente attuale di Studio a selezionare i file da aggiungere come Files .
Proprietà
ActiveScript
ActiveScript si riferisce al LuaSourceContainer attualmente in fase di modifica da parte dell'utente. Se l'utente non sta modificando uno script, questo sarà nil . Questo è un esempio che mostra come puoi usare questa proprietà per misurare per quanto tempo uno script è stato attivo.
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 determina la distanza in studs con cui gli strumenti di trascinamento e movimento di Studio muovono gli oggetti ogni tik. Questo è impostato nella scheda Modello dell'utente sotto la sezione Aggancia alla griglia .
RotateIncrement
RotateIncrement determina l'angolo in gradi in cui lo strumento di rotazione di Studio ruoterà gli oggetti selezionati ogni tik. Questo è impostato nella scheda Modello dell'utente sotto la sezione Snap to Grid .
Secrets
ShowConstraintDetails
ShowWeldDetails
StudioLocaleId
La proprietà StudioLocalId contiene il luogo attualmente in uso da Studio, ad esempio en_US . È utile quando si localizza plugin.
Di seguito, è un esempio di localizzazione basato sul valore restituito da questa funzione.
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
Metodi
GetClassIcon
GetClassIcon fornisce un dizionario che consente la visualizzazione di un'Iconadi classe Explorer, ad esempio chiamando questa funzione con "Part" restituisce valori di proprietà che visualizzano l'icona della parte dalla finestra Explorer.
Di seguito è riportata una rappresentazione letterale del valore restituito quando questa funzione viene chiamata con "Part" .
{Image = "rbxasset://textures/ClassImages.png",ImageRectOffset = Vector2.new(16, 0),ImageRectSize = Vector2.new(16, 16)}
La funzione utilità seguente potrebbe rivelarsi utile quando si mostrano le icone di classe:
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 -- Imposta Proprietà
end
end
displayClassIcon(imageLabel, "Part")
Parametri
Restituzioni
GetUserId
Restituisce l'ID utente di Studio se è connesso, altrimenti restituisce 0.
Restituzioni
Campioni di codice
-- 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
Parametri
Restituzioni
PromptImportFile
Questa funzione richiede al attuale utente Studio di selezionare un file, che poi verrà caricato come File .
Vedi anche:
- StudioService:PromptImportFiles() , la stessa funzione ma per il caricamento di una lista di file invece di un singolo file
Parametri
Una lista di tipi di file che l'utente è autorizzato a Selezionare. I tipi di file sono formattati senza un punto. Ad esempio, "jpg", "png" consentono solo un file JPG o PNG per essere selezionato. Se non viene fornito alcun filtro, il filtro è null e consente all'utente di selezionare qualsiasi inserisci / scrividi file.
Restituzioni
PromptImportFiles
Questa funzione richiede che l'utente attuale di Studio selezioni uno o più file, che poi saranno caricati come Files .
Lancia un errore se il fileTypeFilter era una lista vuota.
Vedi anche:
- StudioService:PromptImportFile() , la stessa funzione ma per il caricamento di un singolo file invece di una lista di file
Parametri
Una lista di tipi di file che l'utente è autorizzato a Selezionare. I tipi di file sono formattati senza un punto. Ad esempio, "jpg", "png" consentirebbe solo i file JPG e PNG per essere selezionati. Se non viene fornito alcun filtro, il filtro è null e consente all'utente di selezionare qualsiasi inserisci / scrividi file.
Restituzioni
Il pulsante Files importato. Ritorna un elenco vuoto se non sono stati selezionati file. Ritorna zero se l'utente ha selezionato uno o più file troppo grandi (FileSize maggiore di 100 megabyte).