KeyframeSequenceProvider
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
El servicio KeyframeSequenceProvider proporciona funciones para cargar y previsualizar KeyframeSequences .Incluye una serie de funciones útiles al trabajar con Animations .
Un KeyframeSequence almacena una serie de Poses que codifican la jerarquía y el movimiento de una animaciones.Los datos de animación que usa Roblox en la reproducción de una animaciones, referenciados por la propiedad Animation.AnimationId, se pueden construir desde un KeyframeSequence. por lo general se crean por el Editor de animación de Roblox pero se pueden crear a través de otros plugins o incluso manualmente.
Muestras de código
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)
Resumen
Métodos
Genera una identificación de activo temporal desde un KeyframeSequence que se puede utilizar para la prueba localizada de una animaciones. Genera una URL activa://.
Genera una identificación de activo temporal desde un KeyframeSequence que se puede utilizar para la prueba localizada de una animaciones. Genera un hash.
Esta función devuelve un objeto InventoryPages que se puede usar para iterar sobre las animaciones propiedad de un usuario específico.
Devuelve una secuencia de marcos clave basada en el ID especificado asíncronamente.
Propiedades
Métodos
RegisterActiveKeyframeSequence
Genera una identificación de activo temporal desde un KeyframeSequence que se puede utilizar para la prueba localizada de una animaciones.
Esta función realiza la misma función para KeyframeSequenceProvider:RegisterKeyframeSequence() sin embargo, esta función genera una URL activa:// en lugar de un hash.
El ID generado se puede usar en una propiedad Animation.AnimationId para pruebas.
El ID de activo generado por esta función es temporal y no se puede utilizar fuera de Studio.Los desarrolladores que deseen generar una identificación de activo que se pueda utilizar en línea deberán subir el KeyframeSequence a Roblox.
Parámetros
El KeyframeSequence para usar.
Devuelve
Una identificación de activo temporal generada para la reproducción de animaciones localizadas.
Muestras de código
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)
RegisterKeyframeSequence
Genera una identificación de activo temporal desde un KeyframeSequence que se puede utilizar para la prueba localizada de una animaciones.
Esta función realiza la misma función para KeyframeSequenceProvider:RegisterActiveKeyframeSequence() sin embargo, esta función genera un hash en lugar de una URL activa ://.
El ID generado se puede usar para la propiedad Animation.AnimationId para probar animaciones.
El ID de activo generado por esta función es temporal y no se puede utilizar fuera de Studio.Los desarrolladores que deseen generar una identificación de activo que se pueda utilizar en línea deberán subir el KeyframeSequence a Roblox.
Parámetros
El KeyframeSequence para usar.
Devuelve
Una identificación de activo temporal generada para la reproducción de animaciones localizadas.
Muestras 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
Esta función devuelve un objeto InventoryPages que se puede usar para iterar sobre las animaciones propiedad de un usuario específico.
Esta función tiene una serie de usos potenciales, como permitir que los usuarios naveguen y importen animaciones en un complementode animación personalizado.
Parámetros
La identificación de usuario del usuario.
Devuelve
Una InventoryPages de animaciones.
Muestras de código
This code sample includes a demonstration of how the content IDs of animations belonging to a player can be downloaded using KeyframeSequenceProvider:GetAnimations(). To run this code be sure to change the USER_ID variable to the ID of the user whose animations you want to download.
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
GetKeyframeSequenceAsync devuelve un KeyframeSequence basado en el ID de activo especificado.El assetId debe corresponder a una animaciones.La función se ejecutará hasta que se cargue el KeyframeSequence de la web.Debido a que se trata de una llamada web, debe estar envuelta en una llamada pcall.
Parámetros
El ID del contenido de la animaciones.
Devuelve
El KeyframeSequence encontrado.
Muestras de código
Demonstrates getting an animation's KeyframeSequence using KeyframeSequenceProvider:GetKeyframeSequenceAsync() and printing the time of each keyframe.
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