KeyframeSequenceProvider
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
O serviço KeyframeSequencer fornece funções para carregar e pré-visualizar KeyframeSequences . Ele inclui uma série de funções úteis ao trabalhar com Animations.
Um KeyframeSequence armazena uma série de Poses que codificam a hierarquia e o movimento de uma animações. Os dados de animação usados no playback de
Amostras de código
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)
Resumo
Métodos
Gera um ID de ativo temporário de um KeyframeSequence que pode ser usado para testes locais de uma animações. Gera uma URL ativo:// ativo.
Gera um ID de ativo temporário a partir de um KeyframeSequence que pode ser usado para testes locais de uma animações. Gera um hash.
Essa função retorna um objeto InventoryPages que pode ser usado para iteração sobre animações de propriedade de um usuário específico.
Retorna uma sequência de chaves baseada no ID fornecido de forma assíncrona.
Propriedades
Métodos
RegisterActiveKeyframeSequence
Gera um ID de ativo temporário a partir de um KeyframeSequence que pode ser usado para testes locais de uma animações.
Essa função executa o mesmo função para KeyframeSequenceProvider:RegisterKeyframeSequence() no entanto, essa função gera uma URL ativa:// em vez de um hash.
O ID gerado pode ser usado em uma propriedade Animation.AnimationId para testes.
O ID de ativo gerado por esta função é temporário e não pode ser usado fora do Studio. Os desenvolvedores que desejam gerar um ID de ativo que pode ser usado online devem fazer o upload do KeyframeSequence para o Roblox.
Parâmetros
O KeyframeSequence a ser usado.
Devolução
Um ID de ativo temporário gerado para reprodução de animação localizada.
Amostras de código
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
Gera um ID de ativo temporário a partir de um KeyframeSequence que pode ser usado para testes locais de uma animações.
Essa função executa o mesmo função para KeyframeSequenceProvider:RegisterActiveKeyframeSequence() no entanto, essa função gera um hash em vez de uma URL ativa://.
O ID gerado pode ser usado para a propriedade Animation.AnimationId para testar animações.
O ID de ativo gerado por esta função é temporário e não pode ser usado fora do Studio. Os desenvolvedores que desejam gerar um ID de ativo que pode ser usado online devem fazer o upload do KeyframeSequence para o Roblox.
Parâmetros
O KeyframeSequence a ser usado.
Devolução
Um ID de ativo temporário gerado para reprodução de animação localizada.
Amostras de código
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
Essa função retorna um objeto InventoryPages que pode ser usado para iteração sobre animações de propriedade de um usuário específico.
Essa função tem um número de potenciais usos, como permitir que os usuários naveguem e importem animações em um plugin de animação personalizado.
Parâmetros
O ID do usuário do usuário.
Devolução
Um InventoryPages de animações.
Amostras de código
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
GetKeyframeSequencial retorna um KeyframeSequence baseado no especificado id de recursos. O id de recursos deve corresponder a uma animações. A função retornará até que o KeyframeSequence seja carregado do site. Como este é um webcall, ele deve ser envoltido em um pcall.
Parâmetros
O ID de conteúdo da animações.
Devolução
O KeyframeSequence encontrado.
Amostras de código
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