KeyframeSequenceProvider

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Service
Non répliqué

Le service KeyframeSequencer fournit des fonctions pour charger et prévisualiser Class.KeyframeSequencer|KeyframeSequences. Il inclut un certain nombre de fonctions utiles lorsque vous travaillez avec Class.Animation|Animations .

Un KeyframeSequence stocke une série de Poses qui encodent la hiérarchie et la rotation d'une animations. Les données d'animationsque Roblox utilise dans le playback d'une

Échantillons de code

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)

Résumé

Méthodes

Propriétés

Méthodes

RegisterActiveKeyframeSequence

ContentId

Génère un ID de ressource temporaire à partir d'un KeyframeSequence qui peut être utilisé pour le test local d'une animations.

Cette fonction effectue la même fonction à KeyframeSequenceProvider:RegisterKeyframeSequence() mais cette fonction génère une URL active:// au lieu d'un hachage.

L'ID généré peut être utilisé dans une propriété Animation.AnimationId pour tester.

L'ID de ressource généré par cette fonction est temporaire et ne peut pas être utilisé en dehors de Studio. Les développeurs souhaitant générer un ID de ressource qui peut être utilisé en ligne doivent télécharger le KeyframeSequence sur Roblox.

Paramètres

keyframeSequence: Instance

La KeyframeSequence à utiliser.


Retours

ContentId

Un ID de ressource temporaire généré pour la lecture d'animation localisée.

Échantillons de code

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

Génère un ID de ressource temporaire à partir d'un KeyframeSequence qui peut être utilisé pour le test local d'une animations.

Cette fonction effectue la même fonction à KeyframeSequenceProvider:RegisterActiveKeyframeSequence() mais cette fonction génère un hachage au lieu d'une URL active://.

L'ID généré peut être utilisé pour la propriété Animation.AnimationId pour tester les animations.

L'ID de ressource généré par cette fonction est temporaire et ne peut pas être utilisé en dehors de Studio. Les développeurs souhaitant générer un ID de ressource qui peut être utilisé en ligne doivent télécharger le KeyframeSequence sur Roblox.

Paramètres

keyframeSequence: Instance

La KeyframeSequence à utiliser.


Retours

ContentId

Un ID de ressource temporaire généré pour la lecture d'animation localisée.

Échantillons de code

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

Rendement

Cette fonction renvoie un objet InventoryPages qui peut être utilisé pour itérer sur les animations appartenant à un utilisateur spécifique.

Cette fonction a plusieurs utilisations potentielles, telles que la permission d'afficher et d'importer des animations dans un plugin d'animation personnalisé.

Paramètres

userId: number

L'identifiant de l'utilisateur.


Retours

Une page d' InventoryPages d'animations.

Échantillons de code

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

Rendement

GetKeyframeSequencer renvoie un KeyframeSequence basé sur l'identifiant spécifié. L'identifiant doit correspondre à une animations. La fonction se produira jusqu'à ce que le KeyframeSequence soit chargé à partir du site Web. Étant qu'il s'agit d'un webcall, il doit être exécuté dans un pcall.

Paramètres

assetId: ContentId

L'ID du contenu de l'animations.


Retours

Échantillons de code

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

Évènements