在敵人被擊中后,我需要他們播放死亡影片然后被禁用。
anim.Play("Destroy", 0, 0f);
while (anim.GetCurrentAnimatorStateInfo(0).normalizedTime < 1f)
{
yield return null;
}
gameObject.SetActive(false);
但是,由于背景中已經發生了不同的影片,normalizedTime 通常類似于 15.035。當我將條件更改為:
((anim.GetCurrentAnimatorStateInfo(0).normalizedTime % 1) > 0f)
敵人立即被禁用。
我也嘗試在播放影片后將 normalisedTime 重置為 0,但我不知道如何。我發現一個指南說我應該使用anim["Destroy"].normalizedTime = 0f;,但最終回傳錯誤 CS0021。我究竟做錯了什么?
uj5u.com熱心網友回復:
最好的方法是通過影片事件。如果您撰寫了一個 MonoBehaviour 腳本,其中包含一個公共函式并將其添加到 Animator 組件所在的物件中,那么您可以編輯影片并在影片結束時添加一個“影片事件”,然后在檢查器中選擇正確的功能
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/369716.html
