KeyframeSequenceProvider

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Nicht erstellbar
Dienst
Nicht repliziert

Der KeyframeSequenzProvider -Dienst bietet Funktionen, um KeyframeSequences zu laden und vorzusehen. Er enthält eine Reihe von Funktionen, die nützlich sind, wenn Sie mit Animations arbeiten.

Ein KeyframeSequence speichert eine Reihe von Poses, die die Hierarchie und den Bewegungsmodus einer Animationenencodieren. Die Animationsdaten, die Roblox in der W

Code-Beispiele

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)

Zusammenfassung

Methoden

Eigenschaften

Methoden

RegisterActiveKeyframeSequence

ContentId

Erzeugt eine temporäre Asset-ID aus einer KeyframeSequence, die für lokalisierte Tests einer Animationenverwendet werden kann.

Diese Funktion führt die gleiche Funktion aus, um KeyframeSequenceProvider:RegisterKeyframeSequence()Class.Keyframe jedoch generiert diese Funktion eine aktive://-URL anstelle eines Hashes.

Die ID, die generiert wird, kann in einem Animation.AnimationId-Eigenschaft für das Testen verwendet werden.

Die von dieser Funktion erzeugte Asset-ID ist temporär und kann nicht außerhalb von Studio verwendet werden. Entwickler, die eine Asset-ID erzeugen möchten, die online verwendet werden kann, sollten die KeyframeSequence zu Roblox hochladen.

Parameter

keyframeSequence: Instance

Die KeyframeSequence zu verwenden.


Rückgaben

ContentId

Eine temporäre Asset-ID, die für die lokale Wiedergabe von Animationen erstellt wird.

Code-Beispiele

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

Erzeugt eine temporäre Asset-ID aus einer KeyframeSequence, die für lokalisierte Tests einer Animationenverwendet werden kann.

Diese Funktion führt die gleiche Funktion aus, um KeyframeSequenceProvider:RegisterActiveKeyframeSequence(), aber diese Funktion erzeugt einen Hashen anstelle einer aktiven://-URL.

Die generierte ID kann für die Animation.AnimationId Eigenschaft verwendet werden, um Animationen zu testen.

Die von dieser Funktion erzeugte Asset-ID ist temporär und kann nicht außerhalb von Studio verwendet werden. Entwickler, die eine Asset-ID erzeugen möchten, die online verwendet werden kann, sollten die KeyframeSequence zu Roblox hochladen.

Parameter

keyframeSequence: Instance

Die KeyframeSequence zu verwenden.


Rückgaben

ContentId

Eine temporäre Asset-ID, die für die lokale Wiedergabe von Animationen erstellt wird.

Code-Beispiele

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

Angehalten

Diese Funktion gibt ein InventoryPages Objekt zurück, das verwendet werden kann, um über Animationen eines bestimmten Benutzers zu wiederholen.

Diese Funktion hat eine Reihe von potenziellen Anwendungen, z. B. die Möglichkeit, Benutzern die Animationen zu durchsuchen und in ein benutzerdefiniertes Plug-inzu importieren.

Parameter

userId: number

Die Benutzer-ID des Benutzers.


Rückgaben

Ein InventoryPages von Animationen.

Code-Beispiele

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

Angehalten

GetKeyframeSequenzAsync gibt eine KeyframeSequence basierend auf der angegebenen Asset-ID zurück. Die Asset-ID muss entsprechen einer Animationen. Die Funktion wird geliefert, bis die KeyframeSequence von der Website geladen wird. Da dies ein Web-Call ist, sollte es in einem P-Call eingebunden sein.

Parameter

assetId: ContentId

Die Inhalts-ID der Animationen.


Rückgaben

Code-Beispiele

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

Ereignisse