Eventos de animación

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Puedes definir marcadores de evento de animación a lo largo del período de tiempo y usar GetMarkerReachedSignal() para detectar esos marcadores mientras se ejecuta la animación.

Mostrar eventos

Por defecto, la pista de eventos no es visible. Para mostrar la pista de eventos:

  1. Navegue a la derecha del calendario , luego haga clic en el ícono Equipo . Se muestra un menú emergente.

  2. Seleccione Mostrar eventos de animación . Esto abre la barra eventos de animación directamente debajo de los controles de medios y reproducción.

Ahora puedes crear, detectar y duplicar eventos.

Crear eventos

Los marcadores de eventos son indicadores visuales de dónde comienza un evento de animación.Después de crear un marcador de evento, puedes moverlo a cualquier posición de marco en la línea de tiempo.

Para crear un nuevo marcador de evento:

  1. Navegue hasta la línea de tiempo , luego haga clic y arrastre el removedor a la posición de la ventana donde debería producirseel evento.

  2. Navegue hasta la pista de eventos , luego haga clic en el botón Editar eventos de animación . Se muestra el diálogo Editar eventos de animación .

  3. En el diálogo Editar eventos de animación , haz clic en + Añadir evento , luego ingresa un nombre de evento.

  4. (Opcional) En el campo Parámetro , ingrese una cadena de parámetros para el evento.

  5. Haga clic en el botón Guardar . En la barra de eventos dentro del cronograma, un nuevo símbolo de marcador se muestra en la posición del marco.

Detectar eventos

Para detectar eventos de animación en un LocalScript , conecte una función a la función GetMarkerReachedSignal() de AnimationTrack . Por ejemplo:


local Players = game:GetService("Players")
local player = Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local animator = humanoid:WaitForChild("Animator")
-- Crear nueva instancia de "Animación"
local walkAnim = Instance.new("Animation")
-- Establece su "AnimationId" al ID de activo de animación correspondiente
walkAnim.AnimationId = "rbxassetid://5432167890"
-- Cargar animación en el animador
local walkAnimTrack = animator:LoadAnimation(walkAnim)
-- Conectar el evento "GetMarkerReachedSignal" a un marco de clave con nombre específico
walkAnimTrack:GetMarkerReachedSignal("FootStep"):Connect(function(paramString)
print(paramString)
end)

Eventos duplicados

A medida que creas eventos, se vuelven disponibles para su uso a lo largo de toda la animaciones, no solo en la posición del marco donde los creaste originalmente.Por instancia, puedes crear un marcador de evento "Paso a Paso" en el punto donde el pie izquierdo de un personaje toca el suelo, luego usa el mismo evento cuando el pie derecho de un personaje toca el suelo.

Para duplicar un evento:

  1. Navegue hasta la línea de tiempo , luego haga clic en un marcador de evento en la barra de eventos .

  2. Presione CtrlC ( C en Mac).

  3. Haz clic y arrastra el removedor a la posición del marco donde quieres duplicar el evento.

  4. Presione CtrlV ( V en Mac).

Si el evento original usa un parámetro pero el evento duplicado debe usar un parámetro modificado, realice los siguientes pasos:

  1. Haga clic derecho en el marcador de evento duplicado. Se muestra un menú emergente.
  2. Seleccione el evento Editar animación . Se muestra el diálogo Editar eventos de animación .
  3. Haz tus cambios, luego haz clic en el botón Guardar .