KeyframeSequenceProvider
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Anahtar çerçeve seckeci sağlayıcısı hizmeti, yükleme ve önizleme işlevleri sağlar.Animations ile çalışırken yararlı bir dizi işlev içerir.
Bir KeyframeSequence bir animasyonun sıralamasını ve hareketini kodlayan bir dizi Poses saklarBir animasyonun oynatılmasında Roblox'un kullandığı animasyon verileri, Animation.AnimationId özelliği tarafından referanslandırılan, bir KeyframeSequence 'dan inşa edilebilir.KeyframeSequences genellikle Roblox Animasyon Editörü tarafından oluşturulur, ancak diğer pluginler veya hatta manuel olarak oluşturulabilir.
Kod Örnekleri
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)
Özet
Özellikler
Yöntemler
Bir animasyonun yerelleştirilmiş test edilmesi için kullanılabilecek geçici bir varlık kimliği oluşturur KeyframeSequence . Bir aktif:// URL üretir.
Bir animasyonun yerelleştirilmiş test edilmesi için kullanılabilecek geçici bir varlık kimliği oluşturur KeyframeSequence . Bir hash oluşturur.
Bu işlev, belirli bir kullanıcının sahip olduğu animasyonlar üzerinde döngü yapmak için kullanılabilecek bir InventoryPages nesnesi döndürür.
Belirtilen varlıkID'ye göre asenkron olarak bir Anahtar Çerçeve Sekansı döndürür.
Özellikler
Yöntemler
RegisterActiveKeyframeSequence
Bir animasyonun yerelleştirilmiş testi için kullanılabilecek geçici bir varlık kimliği oluşturur KeyframeSequence bir çeviri için kullanılabilecek.
Bu işlev aynı işlevi yerine getirir KeyframeSequenceProvider:RegisterKeyframeSequence() ancak bu işlev bir aktif:// URL yerine bir hashtag üretir.
Oluşturulan kimlik test için bir Animation.AnimationId özellikte kullanılabilir.
Bu işlev tarafından üretilen varlık kimliği geçici ve Studio dışında kullanılamaz.Çevrimiçi kullanılabilecek bir varlık kimliği oluşturmak isteyen geliştiriciler, KeyframeSequence Roblox'a yüklemelidir.
Parametreler
Kullanılacak KeyframeSequence .
Dönüşler
Yerelleştirilmiş animasyon oynatımı için oluşturulan geçici bir varlık kimliği.
Kod Örnekleri
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
Bir animasyonun yerelleştirilmiş testi için kullanılabilecek geçici bir varlık kimliği oluşturur KeyframeSequence bir çeviri için kullanılabilecek.
Bu işlev aynı işlevi yerine getirir KeyframeSequenceProvider:RegisterActiveKeyframeSequence() ancak bu işlev bir aktif:// URL yerine bir hash üretir.
Oluşturulan ID, animasyonları test etmek için Animation.AnimationId özelliği için kullanılabilir.
Bu işlev tarafından üretilen varlık kimliği geçici ve Studio dışında kullanılamaz.Çevrimiçi kullanılabilecek bir varlık kimliği oluşturmak isteyen geliştiriciler, KeyframeSequence Roblox'a yüklemelidir.
Parametreler
Kullanılacak KeyframeSequence .
Dönüşler
Yerelleştirilmiş animasyon oynatımı için oluşturulan geçici bir varlık kimliği.
Kod Örnekleri
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
Bu işlev, belirli bir kullanıcının sahip olduğu animasyonlar üzerinde döngü yapmak için kullanılabilecek bir InventoryPages nesnesi döndürür.
Bu işlevin bir dizi potansiyel kullanımı vardır, örneğin kullanıcıların özel bir animasyon eklentisine gezinmelerine ve animasyonları ithal etmelerine izin vermek gibi.
Parametreler
Kullanıcının kullanıcı ID'si.
Dönüşler
Animasyonların bir InventoryPages 'si.
Kod Örnekleri
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, belirtilen varlık kimliğine dayanarak bir KeyframeSequence döndürür.Varlık kimliği bir animasyona eşleşmelidir.İşlev, web sitesinden KeyframeSequence yüklendene kadar verecektir.Bu bir web çağrısı olduğundan, bir pcall içinde sarılmalıdır.
Parametreler
animasyoniçeriği ID'si.
Dönüşler
Bulunan KeyframeSequence .
Kod Örnekleri
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