AssetService
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
AssetService è un servizio non replicato che gestisce le richieste correlate alle risorse all'API web Roblox.
Sommario
Proprietà
Metodi
Crea una nuova EditableImage .
Crea una nuova, vuota EditableMesh .
Crea una nuova istanza EditableImage popolata con l'immagine fornita.
Restituisce una nuova istanza EditableMesh creata da un ID contenuto della mesh esistente.
Crea una nuova MeshPart con un ID della mesh specificato e un'opzionale tabella di valori di fedeltà.
Clona un luogo attraverso il templatePlaceID .
- CreatePlaceInPlayerInventoryAsync(player : Instance,placeName : string,templatePlaceID : number,description : string):number
Clona un luogo attraverso il templatePlaceID e lo mette nell'inventario del Giocatore.
Restituisce un array di ID risorse che sono contenuti in un pacchetto specificato.
Fornisce metadati rilevanti su una Sorgenteaudio specifica.
Restituisce i dettagli dei contenuti dello specifico pacchetto.
Restituisce un oggetto StandardPages che contiene il nome e PlaceId dei luoghi all'interno dell'esperienza corrente.
Consente la creazione di risorse in-experience per gli utenti facendo clic su una finestra di dialogo di pubblicazione.
Salva lo stato del Postoattuale.
Trova risorse audio corrispondenti a una varietà di criteri di ricerca.
Proprietà
Metodi
CreateEditableImage
Crea una nuova EditableImage . Per impostazione predefinita, la risoluzione è impostata su 512×512, ma puoi specificare una dimensione diversa utilizzando la tabella di opzione del metodo.
Se il budget della memoria specifica del dispositivo è esaurito, la creazione fallisce e questo metodo restituisce nil .
Parametri
Tabella delle opzioni che contiene controlli per il metodo:
- Size – A Vector2 che specifica la larghezza e l'altezza desiderata dell'immagine.
Restituzioni
CreateEditableMesh
Crea una nuova, vuota EditableMesh . I vertici, i triangoli e le loro proprietà possono essere aggiunti dinamicamente a esso. Se il budget della memoria edibile dispositivo è esaurito, la creazione fallirà e questo metodo restituirà nil .
Parametri
Restituzioni
CreateEditableImageAsync
Crea una nuova istanza EditableImage popolata con la Strutturafornita. I risorsadella texture ID come rbxthumb:// sono supportati. Se si utilizza una memoria di esperienza, deve essere associato e/o possedere da un creatore dell'esperienza, o deve essere stato creato all'interno dell'esperienza. Se il budget della memoria di esperienza è
Parametri
Restituzioni
Un nuovo EditableImage contenente l'immagine fornita.
CreateEditableMeshAsync
Restituisce una nuova istanza EditableMesh creata da un ID contenuto della mesh esistente. Per impostazione predefinita, un'istanza EditableMesh creata da questo metodo sarà fissa dimensione in modo che i dati della mesh non possano essere modificati, aggiunti o rimossi. Un'istanza EditableMesh consuma meno memoria e dovrebbe essere preferita quando possibile.
Se il budget della memoria specifico del dispositivo è esaurito, la creazione non riuscirà e questo metodo restituirà nil .
Parametri
Tabella delle opzioni che contiene controlli per il metodo:
- FixedSize – A bool . Il valore predefinito è true , e il valore restituito 0> Class.EditableMesh0> non ti consentirà di aggiungere o rimuovere i vertici, modificando solo i loro valori. Imposta su FixedSize3> se la capacità di modificare la topologia della mesh è richi
Restituzioni
La nuova entità EditableMesh .
CreateMeshPartAsync
Questo metodo crea un MeshPart con un CollisionFidelity specificato, Class.MeshPart.RenderFidelity|Render
Parametri
Tabella delle opzioni che contiene uno o più controlli per il metodo:
- CollisionFidelity – Il valore di CollisionFidelity nella parte risultante. Le predefiniture sono Enum.CollisionFidelity.Default se l'opzione è assente o la tabella 0> Options0> è vuota .
- RenderFidelity – Il valore di RenderFidelity nella parte risultante. Le predefiniture sono Enum.RenderFidelity.Automatic se l'opzione è assente o la tabella 0> Options0> è vuota .
- FluidFidelity – Il valore di FluidFidelity nella parte risultante. Le predefiniture sono Enum.FluidFidelity.Automatic se l'opzione è assente o la tabella 0> Options0> è vuota.
Restituzioni
CreatePlaceAsync
Clona un luogo attraverso il templatePlaceID dato e restituisce il PlaceId del nuovo Posto, che puoi utilizzare con TeleportService. Il luogo clonato viene visualizzato all'interno dell'inventario del creatore del Postocon il nome e la Descrizionespecificati.
Nota che il luogo del modello deve avere la copia del modello abilitata attraverso le impostazioni del luogo. Non puoi usare questo metodo per clonare luoghi che non Proprio.
L'uso frequente di questa API non è raccomandato, in particolare se i luoghi creati contengono script, poiché l'aggiornamento del codice in un grande volume di luoghi diventa rapidamente infeasibile. Per i mondi generati dagli utenti, considera la serializzazione delle creazioni dell'utente e il loro salvataggio in DataStores invece.
Parametri
Nome del nuovo Posto.
Descrizione del nuovo Posto.
Restituzioni
CreatePlaceInPlayerInventoryAsync
Parametri
Restituzioni
GetAssetIdsForPackage
Restituisce un array di ID risorse che sono contenuti in un pacchetto specificato.
Parametri
Restituzioni
ID delle risorse che sono contenuti in un pacchetto specificato.
GetAudioMetadataAsync
Fornisce metadati rilevanti su una fonte audio specifica (artista, titolo, durata, inserisci / scrivi, ecc.).
Parametri
Area di ID risorsa o contenuto per cui recuperare i metadati. Il massimo della dimensione della batch è 30.
Restituzioni
Area di tabelle di dizionario nello stesso ordine della Richiesta, in cui ogni dizionario contiene i seguenti metadati per la sua risorsa/contesto:
AssetId ( stringa )
Title ( stringa )
Artist ( stringa )
Duration ( numero ) in secondi
AudioType (Enum.AudioSubType)
Nota che se si verifica un errore durante il recupero dei metadati per qualsiasi delle risorse richieste, ad esempio l'ID della risorsa non esiste, la sua tabella di dizionario è ancora inclusa nell'arrays restituito ma non contiene il campo AssetId . Inoltre, se il AudioType non può essere determinato per un'assegnazione di audio/suonoprivata (per esempio
Campioni di codice
local AssetService = game:GetService("AssetService")
local SoundService = game:GetService("SoundService")
local trackIDs = {
SoundService.Sound1.SoundId,
SoundService.Sound2.SoundId,
SoundService.Sound3.SoundId,
SoundService.Sound4.SoundId
}
local success, result = pcall(function()
return AssetService:GetAudioMetadataAsync(trackIDs)
end)
if success then
for i = 1, #trackIDs do
local contentId = "rbxassetid://" .. result[i].AssetId
if trackIDs[i] == contentId then
print(result[i].Title, "by", result[i].Artist)
else
warn("No metadata fetched for requested asset #" .. tostring(i))
end
end
end
GetBundleDetailsAsync
Questa funzione restituisce i dettagli dei contenuti del pacchetto specificato.
Se l'ID del pacchetto non esiste, mostra HTTP 400 (Bad Request) . Se bundleId non è convertibile in un Integro, mostra Unable to cast string to int64 .
Parametri
L'ID del pacchetto specificato.
Restituzioni
Dizionario con le seguenti coppie di valore chiave che contengono dettagli sul pacchetto specificato:
Id — ID pacchetto (lo stesso dell'argomento passato bundleId)
Name — Nome del pacchetto
Description — Descrizione del pacchetto
BundleType — Strings rappresentative del Enum.BundleType , per esempio "BodyParts" o 0> "DynamicHead"0>
Items — Arrays degli oggetti nel pacchetto, ciascuno dei quali è rappresentato attraverso le seguenti chiavi:
Id — ID dell'elemento
Name — Nome dell'elemento
Type — Tipo di oggetto come "Asset" .
Campioni di codice
local AssetService = game:GetService("AssetService")
local BUNDLE_ID = 14
local success, result = pcall(function()
return AssetService:GetBundleDetailsAsync(BUNDLE_ID)
end)
if success then
print(result)
--[[
{
["BundleType"] = "BodyParts",
["Description"] = "The year is 5003, Battlebot 5000 must face his mightiest foe, or face becoming obsolete.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "SinisterBot 5001 Left Arm",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
end
GetGamePlacesAsync
Restituisce un oggetto StandardPages che contiene il nome e PlaceId dei luoghi all'interno dell'esperienza corrente.
Restituzioni
Campioni di codice
local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Name:", place.Name)
print("PlaceId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
end
PromptCreateAssetAsync
Consente la creazione di risorse in-experience per gli utenti facendo clic su un dialogo di pubblicazione. Quando viene chiamato, presenta una finestra di dialogo all'utente, consentendogli di inserire un nome, una Descrizionee un'anteprima della risorsa. Al momento dell'invio, salva la risorsa nell'Inventario, reportoriodell'utente. Può essere invocato solo sul lato server.
Parametri
L'utente che invia una Creazionidi risorse.
L'asset da creare. Attualmente non può contenere script o annidare risorse non pubbliche.
Il inserisci / scrividi risorsa. Attualmente può essere solo Enum.AssetType.Model .
Restituzioni
Il Enum.PromptCreateAssetResult e l'ID risorsa se riuscito.
PromptImportAnimationClipFromVideoAsync
Parametri
Restituzioni
SavePlaceAsync
Salva lo stato del Postoattuale. Funziona solo per i luoghi che vengono creati con AssetService:CreatePlaceAsync() o che hanno l'API abilitata tramite impostazioni luogo.
Restituzioni
SearchAudio
Restituisce un oggetto AudioPages che contiene il risultato della Cercarefornito. Non restituirà i campi con valori vuoti.
Nota che questo metodo ha un limite di richiesta HTTP basso e può lanciare un errore, quindi dovrebbe sempre essere avvolto in pcall() per la gestione degli errori. I messaggi di errore possibili includono:
<tbody><tr><td>HTTP 429 (Troppi richieste)</td><td><code>Class.AssetService:SearchAudio()</code> è stato chiamato troppi volte.</td></tr><tr><td>Tipo inaspettato per i dati, l' array aspettato è null</td><td>L'argomento della parola chiave è stato filtrato.</td></tr></tbody>
Messaggio di errore | Motivo |
---|
Parametri
Restituzioni
Campioni di codice
local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "happy"
local success, result = pcall(function()
return AssetService:SearchAudio(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("AssetService error: " .. result)
end
--[[ Returned data format
{
"AudioType": string,
"Artist": string,
"Title": string,
"Tags": {
"string"
},
"Id": number,
"IsEndorsed": boolean,
"Description": string,
"Duration": number,
"CreateTime": string,
"UpdateTime": string,
"Creator": {
"Id": number,
"Name": string,
"Type": number,
"IsVerifiedCreator": boolean
}
}
--]]