KeyframeSequenceProvider
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
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
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
Erzeugt eine temporäre Asset-ID aus einer KeyframeSequence, die für lokalisierte Tests einer Animationenverwendet werden kann. Erzeugt eine aktive:// URL.
Erzeugt eine temporäre Asset-ID aus einer KeyframeSequence, die für lokalisierte Tests einer Animationenverwendet werden kann. Erzeugt einen Hashen.
Diese Funktion gibt ein InventoryPages Objekt zurück, das verwendet werden kann, um über Animationen eines bestimmten Benutzers zu wiederholen.
Kehre eine KeyframeSequenz basierend auf der angegebenen AssetId asynchron zurück.
Eigenschaften
Methoden
RegisterActiveKeyframeSequence
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
Die KeyframeSequence zu verwenden.
Rückgaben
Eine temporäre Asset-ID, die für die lokale Wiedergabe von Animationen erstellt wird.
Code-Beispiele
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
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
Die KeyframeSequence zu verwenden.
Rückgaben
Eine temporäre Asset-ID, die für die lokale Wiedergabe von Animationen erstellt wird.
Code-Beispiele
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
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
Die Benutzer-ID des Benutzers.
Rückgaben
Ein InventoryPages von Animationen.
Code-Beispiele
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
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
Die Inhalts-ID der Animationen.
Rückgaben
Die KeyframeSequence gefunden.
Code-Beispiele
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