AssetService

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Non costruibile
Assistenza

AssetService è un servizio non replicato che gestisce le richieste correlate alle risorse all'API web Roblox.

Sommario

Metodi

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

editableImageOptions: Dictionary

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

editableMeshOptions: Dictionary

Restituzioni

CreateEditableImageAsync

Resa

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

content: Content
editableImageOptions: Dictionary

Restituzioni

Un nuovo EditableImage contenente l'immagine fornita.

CreateEditableMeshAsync

Resa

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

content: Content
editableMeshOptions: Dictionary

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

Resa

Questo metodo crea un MeshPart con un CollisionFidelity specificato, Class.MeshPart.RenderFidelity|Render

Parametri

meshContent: Content
options: Dictionary

Tabella delle opzioni che contiene uno o più controlli per il metodo:

Valore predefinito: "nil"

Restituzioni

CreatePlaceAsync

Resa

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

placeName: string

Nome del nuovo Posto.

templatePlaceID: number

PlaceId del luogo da clonare.

description: string

Descrizione del nuovo Posto.

Valore predefinito: ""

Restituzioni

PlaceId del nuovo Posto.

CreatePlaceInPlayerInventoryAsync

Resa

Parametri

player: Instance
placeName: string
templatePlaceID: number
description: string
Valore predefinito: ""

Restituzioni

GetAssetIdsForPackage

Resa

Restituisce un array di ID risorse che sono contenuti in un pacchetto specificato.

Parametri

packageAssetId: number

Restituzioni

ID delle risorse che sono contenuti in un pacchetto specificato.

GetAudioMetadataAsync

Resa

Fornisce metadati rilevanti su una fonte audio specifica (artista, titolo, durata, inserisci / scrivi, ecc.).

Parametri

idList: Array

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:

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

Resa

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

bundleId: number

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

Getting Bundle Details

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

Resa

Restituisce un oggetto StandardPages che contiene il nome e PlaceId dei luoghi all'interno dell'esperienza corrente.


Restituzioni

Campioni di codice

AssetService:GetGamePlacesAsync

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

Resa

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

player: Player

L'utente che invia una Creazionidi risorse.

instance: Instance

L'asset da creare. Attualmente non può contenere script o annidare risorse non pubbliche.

assetType: Enum.AssetType

Il inserisci / scrividi risorsa. Attualmente può essere solo Enum.AssetType.Model .


Restituzioni

Il Enum.PromptCreateAssetResult e l'ID risorsa se riuscito.

PromptImportAnimationClipFromVideoAsync

Resa

Parametri

player: Player
progressCallback: function

Restituzioni

SavePlaceAsync

void
Resa

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

void

SearchAudio

Resa

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 erroreMotivo

Parametri

searchParameters: AudioSearchParams

Restituzioni

Campioni di codice

Getting Music Search Titles

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
}
}
--]]

Eventi