KeyframeSequenceProvider
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Layanan KeyframeSequenceProvider menyediakan fungsi untuk memuat dan pratinjau KeyframeSequences .Ini termasuk beberapa fungsi yang berguna saat bekerja dengan Animations .
A KeyframeSequence menyimpan serangkaian Poses yang mengkode hierarki dan gerakan animasi.Data animasi yang digunakan Roblox dalam pemutaran animasi, dibandingkan dengan properti Animation.AnimationId, dapat dibangun dari KeyframeSequence. KeyframeSequences biasanya dibuat oleh Roblox Editor Animasi tetapi dapat dibuat melalui plugin lain atau bahkan secara manual.
Contoh Kode
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)
Rangkuman
Metode
Membuat ID aset sementara dari KeyframeSequence yang dapat digunakan untuk pengujian lokal animasi. Menghasilkan URL aktif://.
Membuat ID aset sementara dari KeyframeSequence yang dapat digunakan untuk pengujian lokal animasi. Membuat hash.
Fungsi ini mengembalikan objek InventoryPages yang dapat digunakan untuk mengulangi animasi yang dimiliki oleh pengguna tertentu.
Kembalikan KeyframeSequence berdasarkan asetId yang ditentukan secara asinkron.
Properti
Metode
RegisterActiveKeyframeSequence
Parameter
Memberikan nilai
Contoh Kode
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
Parameter
Memberikan nilai
Contoh Kode
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
Parameter
Memberikan nilai
Contoh Kode
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
Parameter
Memberikan nilai
Contoh Kode
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