KeyframeSequenceProvider
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Layanan KeyframeSequencerProvider menyediakan fungsi untuk memuat dan menyimpan KeyframeSequences . Ini termasuk beberapa fungsi yang berguna saat bekerja dengan Animations .
Sebuah Class.KeyframeSequ
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)
Rangkuman
Metode
Mem生成临时资源ID dari KeyframeSequence yang dapat digunakan untuk tes lokalisasi animasi. Mem生成 aktif:// URL.
Memunculkan ID aset sementara dari KeyframeSequence yang dapat digunakan untuk tes lokalisasi animasi. Memunculkan hasil pencarian.
Fungsi ini mengembalikan objek InventoryPages yang dapat digunakan untuk mengulangi atas animasi yang dimiliki pengguna tertentu.
Mengembalikan KeyframeSequencer berdasarkan asetId yang ditentukan secara asinkron.
Properti
Metode
RegisterActiveKeyframeSequence
Memunculkan ID aset sementara dari KeyframeSequence yang dapat digunakan untuk tes lokalisasi animasi.
Fungsi ini melakukan fungsi yang sama untuk KeyframeSequenceProvider:RegisterKeyframeSequence() fungsi ini menghasilkan URL aktif:// alih-alih fungsi hasil.
ID yang dihasilkan dapat digunakan dalam properti Animation.AnimationId untuk tes.
ID aset yang dihasilkan oleh fungsi ini sementara dan tidak dapat digunakan di luar Studio. Pengembang yang ingin menghasilkan ID aset yang dapat digunakan secara online harus mengunggah KeyframeSequence ke Roblox.
Parameter
Class.KeyframeSequencer untuk digunakan.
Memberikan nilai
Sebuah ID aset sementara yang dihasilkan untuk memutar animasi lokal.
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
Memunculkan ID aset sementara dari KeyframeSequence yang dapat digunakan untuk tes lokalisasi animasi.
Fungsi ini melakukan fungsi yang sama untuk KeyframeSequenceProvider:RegisterActiveKeyframeSequence() namun fungsi ini menghasilkan hashr sebagai buah persiksa alih-alih URL aktif://.
ID yang dihasilkan dapat digunakan untuk properti Animation.AnimationId untuk menguji animasi.
ID aset yang dihasilkan oleh fungsi ini sementara dan tidak dapat digunakan di luar Studio. Pengembang yang ingin menghasilkan ID aset yang dapat digunakan secara online harus mengunggah KeyframeSequence ke Roblox.
Parameter
Class.KeyframeSequencer untuk digunakan.
Memberikan nilai
Sebuah ID aset sementara yang dihasilkan untuk memutar animasi lokal.
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
Fungsi ini mengembalikan objek InventoryPages yang dapat digunakan untuk mengulangi atas animasi yang dimiliki pengguna tertentu.
Fungsi ini memiliki beberapa potensi penggunaan, seperti memungkinkan pengguna untuk menelusuri dan mengimpor animasi ke plugin animasi khusus.
Parameter
ID pengguna dari pengguna.
Memberikan nilai
Sebuah InventoryPages animasi.
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
GetKeyframeSequencer mengembalikan KeyframeSequence berdasarkan assetId yang ditentukan. AssetId harus sesuai dengan animasi. Fungsi ini akan dihasilkan sampai KeyframeSequence dimuat dari situs web. Karena ini adalah panggilan web, fungsinya harus dibungkung dalam panggilan.
Parameter
ID konten animasi.
Memberikan nilai
Class.KeyframeSequencer ditemukan.
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