要在游戏中实现动画,请使用脚本。 在本教程中,你将使用预制脚本实现以前已做的胜利动画。 一旦完成,这个动画可以用来庆祝玩家的成就,例如达到障碍赛的终点或发现秘密。
脚本动画
动画是使用 脚本 触发的。一个方法是使用事件在各种情况下播放动画,例如玩家完成一等级、击败敌人或甚至在游戏中购买。
设置项目
在这个项目中,您将创建触摸时触发动画的零件。
要组织所有播放动画的零件,请在工作区中创建一个名为 TouchPartFolder 的文件夹。
在触摸零件文件夹中,添加零件。
确保零件放置在玩动画有意义的位置,例如玩家收集的对象附近或玩家收集的对象附近。
在 StarterPlayer > StarterCharacterScripts 中,创建一个名为 TouchPartRegister 的本地脚本。然后,复制并粘贴以下代码。
-- 用于“PlayerAnimationFeedback”脚本在零件触摸时播放动画-- 服务local ReplicatedStorage = game:GetService("ReplicatedStorage")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal character = player.Character or player.CharacterAdded:Wait()local humanoid = character:WaitForChild("Humanoid")local canTouch = false-- 包括反馈动画模块local PlayerAnimationFeedback = require(ReplicatedStorage:WaitForChild("PlayerAnimationFeedback"))-- 触摸零件时调用的函数local function onPartTouch(otherPart)if humanoid and canTouch == false thencanTouch = truePlayerAnimationFeedback:PlayAnimation()canTouch = falseendend-- 在启动时,调用动画模块加载函数PlayerAnimationFeedback:LoadAnimation(humanoid)-- 还将一个文件夹的零件绑定到“触摸”事件上以便运行“onPartTouch()”local touchPartFolder = workspace:WaitForChild("TouchPartFolder")local touchParts = touchPartFolder:GetChildren()for _, touchPart in touchParts dotouchPart.Touched:Connect(onPartTouch)end此脚本查找 TouchPartFolder 中的所有部分,并为其提供 Touched() 事件。当触发时,事件会触发一个玩家的动画。
下一个脚本为玩家触发动画。在 ReplicatedStorage 中,创建一个名为 PlayerAnimationFeedback 的新模块脚本。然后,复制并粘贴以下代码。
-- 用于“TouchPartRegister”脚本来播放动画给玩家local PlayerAnimationFeedback = {}local feedbackAnimationTracklocal ANIMATION_FADE = 0.3local ANIMATION_ID = "rbxassetid://YOUR_ANIMATION"-- 功能于加载动画到玩家的角色function PlayerAnimationFeedback:LoadAnimation(humanoid)local feedbackAnimation = Instance.new("Animation")feedbackAnimation.AnimationId = ANIMATION_IDfeedbackAnimationTrack = humanoid.Animator:LoadAnimation(feedbackAnimation)feedbackAnimationTrack.Priority = Enum.AnimationPriority.ActionfeedbackAnimationTrack.Looped = falseend-- 播放动画的函数function PlayerAnimationFeedback:PlayAnimation()feedbackAnimationTrack:Play(ANIMATION_FADE)task.wait(feedbackAnimationTrack.Length)endreturn PlayerAnimationFeedback
播放动画
动画必须在脚本中识别、加载和播放。
设置动画
脚本需要知道要播游玩的动画。要使用导出的动画,请通过 web 浏览器查找其 资产 ID 。然后,那个 ID 将允许该动画在脚本中加载。
在创建页面的 动画 部分。
找到并单击导出的动画。
从您的浏览器中的 URL 复制其 ID。
在脚本中,PlayerAnimationFeedback,替换占位符,YOUR_ANIMATION (行 8),用你复制的 ID 替换。
运行项目并测试一旦玩家击中零件,您就会看到动画。
下一步
以下是几种继续学习的方法
学习动画
到目前为止,您已经学会了如何创建动画并将其添加到体验。为了继续学习,我们建议您访问动画概览。
在那个页面,您可以找到有用的链接提高动画,例如使用曲线编辑器为光滑运动,或在精炼动画中提供提示。
动态零件
此外,开始可选的课程 动画零件 来学习如何编写십几岁的人,这是一个可以让您缩放、旋转和移动零件的功能。 下面是示例。