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.
KeyframeSequencerProvider hizmeti, KeyframeSequences i yükleme ve önizleme işlevleri sağlar. Animations bir dizi işlev içerir.
Bir KeyframeSequence serisi, bir animasyonun hierarşisini ve hareketini kodlar. Animasyon verileri Roblox, bir animasyonun oynatılmasında kullanı
Kod Örnekleri
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
Animasyonun yerelleşik testleri için kullanılabilen geçici bir varlık kimliği oluşturur. KeyframeSequence bir URL oluşturur.
Animasyonun yerelleşik testleri için kullanılabilen KeyframeSequence ile geçici bir varlık kimliği oluşturur. Bir hasha oluşturur.
Bu işlev, belirli bir kullanıcının animasyonlarına itiraf edilecek şekilde bir InventoryPages nesneyi döndürür.
Belirlenen özellik kimliğine bağlı olarak bir KeyframeSequencer iade eder.
Özellikler
Yöntemler
RegisterActiveKeyframeSequence
animasyonyerelleşik testleri için kullanılabilen geçici bir varlık kimliği oluşturur.
Bu işlev aynı işlevi yerine getirir KeyframeSequenceProvider:RegisterKeyframeSequence() ancak bu işlev bir hasha yerine bir aktif:// URL oluşturur.
Oluşturulan kimlik, test için bir Animation.AnimationId özelliğinde kullanılabilir.
Bu işlev tarafından oluşturulan varlık kimliği geçici olup Studio dışında kullanılamaz. Çevrim içi olarak kullanılabilen bir varlık kimliği oluşturmak isteyen geliştiriciler KeyframeSequence 'yi Roblox'a yüklemelidir.
Parametreler
Kullanılacak KeyframeSequence
Dönüşler
Yerelleştirilmiş animasyon oynatma için geçici bir varlık kimliği oluşturulur.
Kod Örnekleri
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
animasyonyerelleşik testleri için kullanılabilen geçici bir varlık kimliği oluşturur.
Bu işlev aynı işlevi KeyframeSequenceProvider:RegisterActiveKeyframeSequence() yapar, ancak bu işlev bir aktif:// URL yerine bir hashr oluşturur.
Oluşturulan kimlik animasyonları test etmek için Animation.AnimationId özelliğine kullanılabilir.
Bu işlev tarafından oluşturulan varlık kimliği geçici olup Studio dışında kullanılamaz. Çevrim içi olarak kullanılabilen bir varlık kimliği oluşturmak isteyen geliştiriciler KeyframeSequence 'yi Roblox'a yüklemelidir.
Parametreler
Kullanılacak KeyframeSequence
Dönüşler
Yerelleştirilmiş animasyon oynatma için geçici bir varlık kimliği oluşturulur.
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 animasyonlarına itiraf edilecek şekilde bir InventoryPages nesneyi döndürür.
Bu işlevin bir dizi potansiyel kullanımı vardır, kullanıcıların animasyonlarını özelleştirilmiş bir animasyon eklentigöz atmalarına izin vermesi gibi.
Parametreler
Kullanıcının kimliği.
Dönüşler
Animasyonların bir InventoryPagesı.
Kod Örnekleri
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, belirlenen özellik ismi üzerine dayanan KeyframeSequence döndürür. Özellik ismi bir animasyona eşittir. Fonksiyon, KeyframeSequence web sitesinden yükleneana kadar pça olarak yapılandırılır. Çünkü bu bir web çağrısı olduğu için pça ile sonlanır.
Parametreler
animasyoniçeriğinin ID'si.
Dönüşler
Class.KeyframeSequencer bulundu.
Kod Örnekleri
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