要在遊戲中實現動畫,請使用腳本。在本教學中,您將使用預製指令碼實現先前製作的勝利動畫。完成後,這個動畫可以用來慶祝玩家的成就,例如達到障礙賽的終點或找到秘密。
腳本動畫
動畫使用 腳本 進行觸發。一種方法是使用事件在各種情況下播放動畫,例如玩家完成一個等級、擊敗敵人或甚至進行遊戲內購買。
設定項目
對於這個項目,您將創建零件,當觸摸時,會為該玩家啟動動畫。
要組織所有會播放動畫的零件,請在工作區新增一個名為「TouchPartFolder」的資料夾。
在 TouchPartFolder 中,添加一個零件。
請確保零件放置在播放動畫有道理的地方,例如等級結束或靠近玩家收集的物件。
示例勝利部分 >示例互動部分 >在 StarterPlayer > StarterCharacterScripts 中,創建一個名為 TouchPartRegister 的本地腳本。然後複製並粘貼下面的代碼。
-- 與「玩家動畫反饋」腳本一起使用,在零件觸摸上播放動畫-- 服務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
播放動畫
動畫必須在腳指令碼中被標示、載入並播放。
設定動畫
腳本需要知道要玩 遊玩哪個動畫。要使用已匯出的動畫,請通過網頁瀏覽器找到其 資產ID 。該ID將然後允許該動畫在腳指令碼中載入。
開啟動畫部分的創建頁面。
尋找並點擊已匯出的動畫。
從瀏覽器中的 URL 複製其ID。
在腳指令碼中,PlayerAnimationFeedback,替換空白位置,YOUR_ANIMATION (行 8),用你複製的 ID 替換。
執行項目並測試一旦玩家擊中零件,您就會看到動畫。
下一步
以下是繼續學習的幾種方法
了解動畫
目前,您已學會如何創建動畫並將它們添加到體驗中。要繼續學習,我們建議您訪問 動畫 概觀。
在那個頁面上,你會找到改善動畫的有用鏈接,例如使用曲線編輯器進行平滑移動,或是精緻化動畫的提示。
動畫零件
此外,開始可選擇的課程動畫零件來學習如何編寫青少年代碼,這是一種允許您縮比例、旋轉和移動零件的功能。最終項目的樣本如下。