KeyframeSequenceProvider
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Il servizio KeyframeSequenceProvider 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 codifica la gerarchia e il movimento di un'animazioni.I dati di animazione che Roblox utilizza nel riproduzione di un'animazioni, referenziati dalla ProprietàAnimation.AnimationId, possono essere costruiti da un KeyframeSequence. di solito vengono creati dall'Editor di animazione Roblox ma possono essere creati tramite altri plugin o anche manualmente.
Campioni di codice
This code sample contains a simple function to generate an Animation with a generated hash ID to preview a KeyframeSequence locally.
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 test localizzati di un'animazioni. Genera un URL attivo://.
Genera un ID risorsa temporaneo da un KeyframeSequence che può essere utilizzato per test localizzati di un'animazioni. Genera un hash.
Questa funzione restituisce un oggetto InventoryPages che può essere utilizzato per iterare sulle animazioni di proprietà di un utente specifico.
Restituisce una sequenza di fotogrammi chiave in base all'ID specificato asincronamente.
Proprietà
Metodi
RegisterActiveKeyframeSequence
Parametri
Restituzioni
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
Parametri
Restituzioni
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
Parametri
Restituzioni
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
Parametri
Restituzioni
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