Añadir animaciones

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

Para implementar animaciones en el juego, usa scripts.Para este tutorial, implementarás la animación de victoria previamente realizada utilizando un guión prefabricado.Una vez terminada, esta animación se puede utilizar para celebrar el logro de un jugador, como llegar al final de un obby o encontrar un secreto.

Animaciones de scripts

Las animaciones se activan usando scripts .Una aproximación es utilizar eventos para reproducir animaciones en una variedad de situaciones, como un jugador que termina un nivel, derrota a un enemigo o incluso realiza una compraren el juego.

Configurar el proyecto

Para este proyecto, crearás partes que, al tocarlas, activarán una animación para ese jugador.

  1. Para organizar todas las partes que reproducirán la animaciones, agregue una carpeta en el espacio de trabajo (pase el mouse sobre el espacio de trabajo y haga clic en +) llamada TouchPartFolder.

  2. En TouchPartFolder, agrega una parte.

    Asegúrate de que la parte se coloque donde jugar la animación tenga sentido, como el final de un nivel o cerca de un objeto que los jugadores recojan.

    Parte de victoria de ejemplo
    Ejemplo de parte de interacción
  3. En StarterPlayer > StarterCharacterScripts, crea un script local llamado TouchPartRegister. Luego copia y pega el código a continuación.


    -- Se usa con el script "PlayerAnimationFeedback" para jugar animaciones en las partes tocadas
    -- Servicios
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local humanoid = character:WaitForChild("Humanoid")
    local canTouch = false
    -- Incluir módulo de animación de comentarios
    local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))
    -- Función llamada cuando se toca una parte
    local function onPartTouch(otherPart)
    if humanoid and canTouch == false then
    canTouch = true
    PlayerAnimationFeedback:PlayAnimation()
    canTouch = false
    end
    end
    -- Al iniciar, llamar la función de carga del módulo de animación
    PlayerAnimationFeedback:LoadAnimation(humanoid)
    -- También vincula una carpeta de partes al evento "Tocado" para ejecutar "onPartTouch()"
    local touchPartFolder = workspace:WaitForChild("TouchPartFolder")
    local touchParts = touchPartFolder:GetChildren()
    for _, touchPart in touchParts do
    touchPart.Touched:Connect(onPartTouch)
    end

    Este script encuentra todas las partes en el TouchPartFolder y les da eventos Touched() .Cuando se desactiva, el evento ejecuta una función que reproduce una animación para un jugador.

  4. El siguiente script activa las animaciones para un jugador.En ReplicatedStorage, crea un nuevo ModuleScript llamado PlayerAnimationFeedback.Luego, copia y pega el código a continuación.


    -- Se usa con el script "TouchPartRegister" para reproducir animaciones para un jugador
    local PlayerAnimationFeedback = {}
    local feedbackAnimationTrack
    local ANIMATION_FADE = 0.3
    local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"
    -- Función para cargar la animación en el personaje del jugador
    function PlayerAnimationFeedback:LoadAnimation(humanoid)
    local feedbackAnimation = Instance.new("Animation")
    feedbackAnimation.AnimationId = ANIMATION_ID
    feedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)
    feedbackAnimationTrack.Priority = Enum.AnimationPriority.Action
    feedbackAnimationTrack.Looped = false
    end
    -- Función para reproducir la animaciones
    function PlayerAnimationFeedback:PlayAnimation()
    feedbackAnimationTrack:Play(ANIMATION_FADE)
    task.wait(feedbackAnimationTrack.Length)
    end
    return PlayerAnimationFeedback

Reproducir animaciones

Las animaciones deben ser identificadas en un script, cargadas y reproducidas.

Establecer la animaciones

El script necesita saber qué animación jugar.Para usar una animacionesexportada, encuentra su ID de activo a través de un navegador web .Esa identificación permitirá luego que se cargue esa animación en el script.

  1. Abre la sección Animaciones de la página Crear.

  2. Localiza y haz clic en una animacionesexportada.

  3. Copia su ID de la URL en tu navegador.

  4. En el script, PlayerAnimationFeedback, reemplaza el marcador de posición, YOUR_ANIMATION (línea 8), con el ID que copiaste.

  5. Ejecuta el proyecto y prueba que una vez que un jugador golpea la parte, ves la animaciones.

Siguientes pasos

A continuación se muestran algunas maneras de continuar aprendiendo

Aprende sobre animaciones

Hasta ahora, has aprendido cómo crear animaciones y agregarlas a experiencias.Para continuar aprendiendo, recomendamos visitar la vista previa de Animación.

En esa página, encontrarás enlaces útiles para mejorar las animaciones, como usar el editor de curvas para un movimiento suave o consejos para refinar las animaciones.

Animar piezas

Además, inicia la lección opcional Animación de piezas para aprender a codificar adolescentes, una función que te permite redimensionar, rotar y mover piezas.Un ejemplo del proyecto final está a continuación.