KeyframeSequenceProvider
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
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
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
Génère un ID de ressource temporaire à partir d'un KeyframeSequence qui peut être utilisé pour le test local d'une animations. Génère une URL active://.
Génère un ID de ressource temporaire à partir d'un KeyframeSequence qui peut être utilisé pour le test local d'une animations. Génère un hash.
Cette fonction renvoie un objet InventoryPages qui peut être utilisé pour itérer sur les animations appartenant à un utilisateur spécifique.
Renvoie une séquence de clés en fonction de l'identifiant de ressource spécifié de manière asynchrone.
Propriétés
Méthodes
RegisterActiveKeyframeSequence
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
La KeyframeSequence à utiliser.
Retours
Un ID de ressource temporaire généré pour la lecture d'animation localisée.
Échantillons de code
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
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
La KeyframeSequence à utiliser.
Retours
Un ID de ressource temporaire généré pour la lecture d'animation localisée.
Échantillons de code
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
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
L'identifiant de l'utilisateur.
Retours
Une page d' InventoryPages d'animations.
Échantillons de code
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 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
L'ID du contenu de l'animations.
Retours
La KeyframeSequence trouvée.
Échantillons de code
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