KeyframeMarker
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Un marcador de Keyframe es una instancia que representa un evento que eventualmente será disparado cuando un Keyframe es golpeado.
Usando un marcador de Keyframe
Los marcadores de marco de clave siempre deben estar vinculados a un marco de clave a través de la configuración del padre directamente o usando la función Keyframe:AddMarker() de Keyframe. Los marcadores de marco de clave también se pueden eliminar directamente o usando la función Keyframe:RemoveMarker() de Keyframe, y se puede votar para ver qué marcadores están vinculados a un mar
Cada vez que se detecta un marco de claves como una animación que se está ejecutando, habrá un evento disparado para cada marco de claves que está vinculado al marco de claves. Estos eventos son identificables por el nombre del marco de claves. Puedes recuperar y escuchar estos eventos usando la función AnimationTrack.GetKeyframeMarkerReached. Opcionalmente,
Inicia la propiedad Keyframe.Name de Instance y se comporta idénticamente. Los nombres se usan para la identificación y no se necesitan que sean únicos. Cuando se agregan múltiples marcadores de KeyFrame con el mismo nombre, los eventos como el que se muestra por AnimationTrack:GetMarkerReachedSignal() se dispararán para
Véase también:
- Animation , contiene una referencia a los datos de animación requeridos para jugar animaciones personalizadas en personajes o otros modelos usando el sistema de animación de Roblox
Amostras de código
local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local marker1 = Instance.new("KeyframeMarker")
marker1.Name = "FootStep"
marker1.Value = 100
local marker2 = Instance.new("KeyframeMarker")
marker2.Name = "Wave"
marker2.Value = 100
keyframe:AddMarker(marker1) --marker.Parent = keyframe
keyframe:AddMarker(marker2) --marker.Parent = keyframe
local markers = keyframe:GetMarkers()
for _, marker in pairs(markers) do
print(marker.Name)
end
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.Character:Wait()
local humanoid = character:WaitForChild("Humanoid")
-- Create new "Animation" instance
local kickAnimation = Instance.new("Animation")
-- Set its "AnimationId" to the corresponding animation asset ID
kickAnimation.AnimationId = "rbxassetid://2515090838"
-- Load animation onto the humanoid
local kickAnimationTrack = humanoid:LoadAnimation(kickAnimation)
-- Play animation track
kickAnimationTrack:Play()
-- If a named event was defined for the animation, connect it to "GetMarkerReachedSignal()"
kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramString)
print(paramString)
end)
Resumo
Propriedades
Un valor que se especifica para un KeyframeMarker .
Propriedades
Value
Un valor que se especifica para un KeyframeMarker . Cuando el señal se crea a partir de AnimationTrack:GetMarkerReachedSignal(), este valor se pasará a la función conectada.
Véase también:
Amostras de código
local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local marker1 = Instance.new("KeyframeMarker")
marker1.Name = "FootStep"
marker1.Value = 100
local marker2 = Instance.new("KeyframeMarker")
marker2.Name = "Wave"
marker2.Value = 100
keyframe:AddMarker(marker1) --marker.Parent = keyframe
keyframe:AddMarker(marker2) --marker.Parent = keyframe
local markers = keyframe:GetMarkers()
for _, marker in pairs(markers) do
print(marker.Name)
end
local keyframe = Instance.new("Keyframe")
keyframe.Parent = workspace
local marker = Instance.new("KeyframeMarker")
marker.Name = "FootStep"
marker.Value = 100
keyframe:AddMarker(marker) --marker.Parent = keyframe
task.wait(2)
keyframe:RemoveMarker(marker) --marker.Parent = nil