Você pode definir marcadores de evento de animação na faixa de tempo e usar GetMarkerReachedSignal().
Mostrar eventos
Por padrão, a faixa de eventos não é visível. Para mostrar a faixa de eventos:
Navegue à direita da linha do tempo , então clique no ícone Equipamento . Um menu pop-up será exibido.
Selecione Mostrar Eventos de Animação . Isso abre a barra Eventos de Animação diretamente abaixo dos controles de mídia e reprodução.
Agora você pode criar, detectar e duplicar eventos.
Criar eventos
Marcadores de evento são indicadores visuais de onde um evento de animação começa.Depois de criar um marcador de evento, você pode movê-lo para qualquer posição na linha do tempo.
Para criar um novo marcador de evento:
Navegue até a linha do tempo , então clique e arraste o raspador para a posição da janela onde o evento deve ocorrer.
Navegue até a pista de eventos evento , então clique no botão Editar Eventos de Animação . A caixa de diálogo Editar Eventos de Animação será exibida.
Na caixa de diálogo Editar Eventos de Animação , clique em + Adicionar Evento , então insira um nome de evento.
(Opcional) No campo Parâmetro , insira uma string de parâmetro para o evento.
Clique no botão Salvar . Na barra de eventos dentro da linha do tempo, um novo símbolo de marcador é exibido na posição da moldura.
Detectar eventos
Para detectar eventos de animação em um LocalScript, conecte uma função à função GetMarkerReachedSignal() de AnimationTrack. Por exemplo:
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")
-- Criar nova instância de "Animação"
local walkAnim = Instance.new("Animation")
-- Defina seu "AnimationId" para o ID de recurso de animação correspondente
walkAnim.AnimationId = "rbxassetid://5432167890"
-- Carregue a animação no animador
local walkAnimTrack = animator:LoadAnimation(walkAnim)
-- Conectar evento "GetMarkerReachedSignal" a um quadro de chaves nomeado específico
walkAnimTrack:GetMarkerReachedSignal("FootStep"):Connect(function(paramString)
print(paramString)
end)
Eventos duplicados
Ao criar eventos, eles ficam disponíveis para uso durante toda a animações, não apenas na posição do quadro onde você os criou originalmente.Por instância, você pode criar um marcador de evento "Passo a Passo" no ponto em que o pé esquerdo de um personagem toca no chão, então use o mesmo evento quando o pé direito do personagem tocar no chão.
Para duplicar um evento:
Navegue até o calendário, então clique em um marcador de evento na barra de eventos .
Pressione CtrlC ( ⌘C no Mac).
Clique e arraste o removedor para a posição da janela onde você deseja duplicar o evento.
Pressione CtrlV ( ⌘V no Mac).
Se o evento original usa um parâmetro, mas o evento duplicado deve usar um parâmetro modificado, execute os seguintes passos:
- Clique com o botão direito no marcador de evento duplicado. Um menu pop-up é exibido.
- Selecione Editar Animação Evento. O diálogo Editar Eventos de Animação é exibido.
- Faça suas alterações, então clique no botão Salvar .