KeyframeSequenceProvider

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

無法建立
服務
未複製

鑰匙框順序提供商務服務載入和預覽 Class.KeyframeSequencer|KeyframeSequences . 它包含一些有用的功能,當工作與 Class.Animation|Animations 。

Class.KeyframeSequ 可以存儲一系列 Class.Pose|Poses ,這些屬性料會碼碼樣化動畫的階層和動作。動畫資

範例程式碼

Create temporary animation

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)

概要

方法

屬性

方法

RegisterActiveKeyframeSequence

ContentId

KeyframeSequence 生成暫時資產 ID,可用於本地測試動畫。

此功能執行同一個功能到 KeyframeSequenceProvider:RegisterKeyframeSequence() ,但此功能會生成一個 啟用:// 的 URL,而不是哈希。

產生的 ID 可以用在 Animation.AnimationId 測試屬性上。

這個函數生成的資產 ID 是暫時的,不能在 Studio 外部使用。 開發人員希望生成一個可以在線上使用的資產 ID 的話,應該上傳 KeyframeSequence 到 Roblox。

參數

keyframeSequence: Instance

要使用的 KeyframeSequence


返回

ContentId

一個暫時的資產 ID 用於本地化動畫播放。

範例程式碼

Create temporary animation

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

ContentId

KeyframeSequence 生成暫時資產 ID,可用於本地測試動畫。

此功能執行相同的功能至 KeyframeSequenceProvider:RegisterActiveKeyframeSequence() ,但此功能會生成一個哈希而不是一個 active:// 網頁。

產生的 ID 可用於測試動畫的 Animation.AnimationId 屬性。

這個函數生成的資產 ID 是暫時的,不能在 Studio 外部使用。 開發人員希望生成一個可以在線上使用的資產 ID 的話,應該上傳 KeyframeSequence 到 Roblox。

參數

keyframeSequence: Instance

要使用的 KeyframeSequence


返回

ContentId

一個暫時的資產 ID 用於本地化動畫播放。

範例程式碼

KeyframeSequenceProvider:RegisterKeyframeSequence

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

暫停

此功能返回 InventoryPages 個對象,可以用來重複擁有特定用戶的動畫。

這個功能有一些潛在的使用,例如允許用戶瀏覽並匯入動畫到自訂動畫外掛程式。

參數

userId: number

使用者的ID。


返回

一個 InventoryPages 的動畫。

範例程式碼

KeyframeSequenceProvider GetAnimations

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

暫停

取得 Keyframe SequenceAsync 會將 KeyframeSequence 基於指定的資產ID 返回。資產Id 必須與一個動畫對應。 函數會在 KeyframeSequence 從網站載入時呈現。 因為這是一個網頁呼叫,因此它應該包含在 pcall 中。

參數

assetId: ContentId

動畫的內容ID。


返回

範例程式碼

Getting an animation's KeyframeSequence

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

活動