KeyframeSequenceProvider
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il servizio KeyframeSequencerProvider fornisce funzioni per caricare e visualizzare KeyframeSequences . Include una serie di funzioni utili quando si lavora con Animations .
Un KeyframeSequence memorizza una serie di Poses che encodano la gerarchia e la moto di un'animazioni. I dati dell'animazioniusati da Roblox nel riprodur
Campioni di codice
local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local function createPreviewAnimation(keyframeSequence)
local hashId = KeyframeSequenceProvider:RegisterKeyframeSequence(keyframeSequence)
local Animation = Instance.new("Animation")
Animation.AnimationId = hashId
return Animation
end
local keyframeSequence = Instance.new("KeyframeSequence")
local animation = createPreviewAnimation(keyframeSequence)
print(animation)
Sommario
Proprietà
Metodi
Genera un ID risorsa temporaneo da un KeyframeSequence che può essere utilizzato per il test locale di un'animazioni. Genera un URL attivo:// .
Genera un ID risorsa temporaneo da un KeyframeSequence che può essere utilizzato per il test locale di un'animazioni. Genera un hashi.
Questa funzione restituisce un oggetto InventoryPages che può essere utilizzato per itérare le animazioni di proprietà di un utente specifico.
Restituisce una sequenza di keyframe in base all'assetId specificato in sincronia.
Proprietà
Metodi
RegisterActiveKeyframeSequence
Genera un ID risorsa temporaneo da un KeyframeSequence che può essere utilizzato per il test locale di un'animazioni.
Questa funzione esegue la stessa funzione a KeyframeSequenceProvider:RegisterKeyframeSequence() tuttavia questa funzione genera un URL attivo:// invece di un hashr.
L'ID generato può essere utilizzato in una proprietà Animation.AnimationId per testare.
L'ID risorsa generato da questa funzione è temporaneo e non può essere utilizzato al di fuori di Studio. Gli sviluppatori che desiderano generare un ID risorsa che può essere utilizzato online dovrebbero caricare il KeyframeSequence su Roblox.
Parametri
Il KeyframeSequence da utilizzare.
Restituzioni
Un ID risorsa temporaneo generato per il riproduzione animazione localizzata.
Campioni di codice
local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local function createPreviewAnimation(keyframeSequence)
local hashId = KeyframeSequenceProvider:RegisterKeyframeSequence(keyframeSequence)
local Animation = Instance.new("Animation")
Animation.AnimationId = hashId
return Animation
end
local keyframeSequence = Instance.new("KeyframeSequence")
local animation = createPreviewAnimation(keyframeSequence)
print(animation)
RegisterKeyframeSequence
Genera un ID risorsa temporaneo da un KeyframeSequence che può essere utilizzato per il test locale di un'animazioni.
Questa funzione esegue la stessa funzione per KeyframeSequenceProvider:RegisterActiveKeyframeSequence() tuttavia questa funzione genera un hashing invece di un'URL attiva:// .
L'ID generato può essere utilizzato per la proprietà Animation.AnimationId per testare le animazioni.
L'ID risorsa generato da questa funzione è temporaneo e non può essere utilizzato al di fuori di Studio. Gli sviluppatori che desiderano generare un ID risorsa che può essere utilizzato online dovrebbero caricare il KeyframeSequence su Roblox.
Parametri
Il KeyframeSequence da utilizzare.
Restituzioni
Un ID risorsa temporaneo generato per il riproduzione animazione localizzata.
Campioni di codice
local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local asset = KeyframeSequenceProvider:RegisterKeyframeSequence(workspace.KeyframeSequence)
local animation = Instance.new("Animation")
animation.Name = "TestAnimation"
animation.AnimationId = asset
animation.Parent = workspace
GetAnimations
Questa funzione restituisce un oggetto InventoryPages che può essere utilizzato per itérare le animazioni di proprietà di un utente specifico.
Questa funzione ha un certo numero di potenziali utilizzi, come consentire agli utenti di visualizzare e importare animazioni in un plugin di animazione personalizzato.
Parametri
L'ID utente dell'utente.
Restituzioni
Un InventoryPages di animazioni.
Campioni di codice
local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local USER_ID = 0 -- Insert your UserId here
local function extractPages(pagesObject)
local array = {}
while true do
local thisPage = pagesObject:GetCurrentPage()
for _, v in pairs(thisPage) do
table.insert(array, v)
end
if pagesObject.IsFinished then
break
end
pagesObject:AdvanceToNextPageAsync()
end
return array
end
local inventoryPages = KeyframeSequenceProvider:GetAnimations(USER_ID)
local animationIds = extractPages(inventoryPages)
for _, id in pairs(animationIds) do
print(id)
end
print("total: ", #animationIds)
GetKeyframeSequenceAsync
GetKeyframeSequenzeAsync restituisce un KeyframeSequence basato sull'assetId specificato. L'assetId deve corrispondere a un'animazioni. La funzione restituirà fino a quando il KeyframeSequence non sarà caricato dal sito Web. Poiché questa è una chiamata web, deve essere avvolta in una chiamata p.
Parametri
L'ID del contenuto dell'animazioni.
Restituzioni
Il KeyframeSequence trovato.
Campioni di codice
local KeyframeSequenceProvider = game:GetService("KeyframeSequenceProvider")
local ANIMATION_ID = "rbxassetid://507771019"
-- Get the keyframe sequence for the asset
local keyframeSequence
local success, err = pcall(function()
keyframeSequence = KeyframeSequenceProvider:GetKeyframeSequenceAsync(ANIMATION_ID)
end)
if success then
-- Iterate over each keyframe and print its time value
local keyframeTable = keyframeSequence:GetKeyframes()
for key, value in keyframeTable do
print(`The time of keyframe number {key} is: {value.Time}`)
end
else
print(`Error getting KeyframeSequence: {err}`)
end