EasyAnim
Coding Style wiki
EasyAnim 為簡易動畫播放封裝 (播放 + 結束回呼) 的抽象基底類,實作分為 EasyAnimation (Animation 舊版動畫系統) 與 EasyAnimator (Animator),透過統一的 Play(name, animEnd) 介面播放動畫並於動畫事件 AnimEnd 觸發時執行結束回呼。
| 命名空間 | OxGKit.Utilities.EasyAnim |
| 類型 | public abstract class EasyAnim : MonoBehaviour、public class EasyAnimation : EasyAnim、public class EasyAnimator : EasyAnim |
| 原始碼 | EasyAnim.cs、EasyAnimation.cs、EasyAnimator.cs |
using OxGKit.Utilities.EasyAnim;
重要 必須在動畫片段 (Clip) 上設置名為 AnimEnd 的動畫事件 (Animation Event),動畫播放至該事件時才會觸發 animEnd 回呼;未設置該事件時回呼永遠不會觸發,這是「動畫回呼沒有執行」時的首要檢查點。
快速上手
using OxGKit.Utilities.EasyAnim;
using UnityEngine;
public class EasyAnimDemo : MonoBehaviour
{
private void Start()
{
// 取得 EasyAnim (EasyAnimation 或 EasyAnimator)
var easyAnim = this.GetComponent<EasyAnim>();
// EasyAnimation 傳入 Clip 名稱; EasyAnimator 傳入 Trigger 參數名稱
easyAnim.Play("Open", () =>
{
Debug.Log("Animation End");
});
// 檢查是否有該動畫
bool hasAnim = easyAnim.HasAnim("Open");
}
}
通用規則
AnimEnd 動畫事件
- 於 Animation 視窗選擇動畫片段 (Clip)。
- 在結尾幀 (或希望觸發回呼的時間點) 新增 Animation Event。
- Function 名稱填入
AnimEnd(對應EasyAnim基底的protected virtual void AnimEnd()事件函數)。
Fail-Open 行為
Play時若找不到指定的 Clip 名稱 (EasyAnimation) 或參數名稱 (EasyAnimator),會直接呼叫AnimEnd立即觸發回呼 (不會卡住流程)。
提醒 每次 Play 會覆蓋上一次設置的結束回呼;回呼觸發後即清空 (單次觸發)。
EasyAnim (基底)
方法總覽
| 方法 | 說明 |
|---|---|
| Play | (抽象) 播放動畫並設置結束回呼。 |
| HasAnim | (抽象) 檢查是否有指定動畫。 |
Play
public abstract void Play(string name, Action animEnd)
播放指定名稱的動畫,並設置結束回呼 (由動畫事件 AnimEnd 觸發)。