KeyframeMarker

Mostrar obsoleto

*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:

  • Keyframe , sostiene el Poses aplicado a las articulaciones en un Model en un momento dado en una animaciones
  • AnimationTrack, controla la reproducción de una animación en un Humanoid o un AnimationController
  • 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

Get Keyframe Markers Attached to a Keyframe

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
Listening to Keyframe Markers

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)

Propriedades

Value

Ler Parallel

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

Get Keyframe Markers Attached to a Keyframe

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
Add Marker/Remove Marker

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

Métodos

Eventos