KeyframeSequenceProvider
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Usługa KeyframeSequenceProvider zapewnia funkcje do ładowania i podglądu KeyframeSequences.Zawiera szereg funkcji, które są przydatne podczas pracy z Animations.
A KeyframeSequence przechowuje serię Poses, która koduje hierarchię i ruch animacja.Dane animacji, które Roblox używa do odtwarzania animacja, odwołujące się do właściwości Animation.AnimationId, mogą być zbudowane z KeyframeSequence. zwykle tworzone są przez edytor animacji Roblox , ale można je stworzyć za pomocą innych pluginów lub nawet ręcznie.
Przykłady kodu
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)
Podsumowanie
Metody
Generuje tymczasową identyfikator zasobu z KeyframeSequence której można używać do lokalnego testowania animacja. Generuje adres URL aktywny://.
Generuje tymczasową identyfikator zasobu z KeyframeSequence, który może być użyty do lokalnego testowania animacja. Generuje hasz.
Funkcja ta zwraca obiekt InventoryPages, który można używać do przeglądania animacji należących do określonego użytkownika.
Zwraca sekwencję kluczową na podstawie określonego adresu ID asynowo.
Właściwości
Metody
RegisterActiveKeyframeSequence
Generuje tymczasową identyfikator zasobu z KeyframeSequence, który może być użyty do lokalnego testowania animacja.
Funkcja ta wykonuje tę samą funkcję do KeyframeSequenceProvider:RegisterKeyframeSequence() jednak ta funkcja generuje URL aktywny:// zamiast hasha.
Generowane ID można użyć w właściwości Animation.AnimationId do testowania.
ID zasobu generowane przez tę funkcję jest tymczasowe i nie może być używane poza Studio.Programiści, którzy chcą wygenerować identyfikator zasobu, który może być używany online, powinni przesłać KeyframeSequence do Roblox.
Parametry
The KeyframeSequence do użycia.
Zwroty
Tymczasowy identyfikator zasobu generowany dla lokalnej odtwarzania animacji.
Przykłady kodu
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
Generuje tymczasową identyfikator zasobu z KeyframeSequence, który może być użyty do lokalnego testowania animacja.
Funkcja ta wykonuje tę samą funkcję do KeyframeSequenceProvider:RegisterActiveKeyframeSequence() jednak ta funkcja generuje hasz zamiast aktywnego URL ://.
Generowane ID można użyć do właściwości Animation.AnimationId w celu przetestowania animacji.
ID zasobu generowane przez tę funkcję jest tymczasowe i nie może być używane poza Studio.Programiści, którzy chcą wygenerować identyfikator zasobu, który może być używany online, powinni przesłać KeyframeSequence do Roblox.
Parametry
The KeyframeSequence do użycia.
Zwroty
Tymczasowy identyfikator zasobu generowany dla lokalnej odtwarzania animacji.
Przykłady kodu
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
Funkcja ta zwraca obiekt InventoryPages, który można używać do przeglądania animacji należących do określonego użytkownika.
Funkcja ta ma wiele potencjalnych zastosowań, takich jak umożliwienie użytkownikom przeglądania i importowania animacji do niestandardowego dodatek plug-inanimacji.
Parametry
ID użytkownika użytkownika.
Zwroty
Animacja InventoryPages z animacji.
Przykłady kodu
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 zwraca KeyframeSequence w oparciu o określony assetId.Identyfikator zasobu musi odpowiadać animacja.Funkcja będzie wykonywana do czasu, gdy KeyframeSequence zostanie załadowana z witryny.Ponieważ jest to wezwanie webowe, powinno być zapakowane w wezwanie pcall.
Parametry
ID zawartości animacja.
Zwroty
Znaleziono KeyframeSequence .
Przykłady kodu
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