1
如何檢查一個帶動畫的對象是否處於空狀態?如何檢查一個空狀態的對象?
我需要禁用使用SETACTIVE(假)的對象,這樣:
如果對象是在狀態之間的轉換 - 完成過渡,然後將其禁用。
如果對象處於默認空狀態 - 立即禁用它。
此代碼的工作,如果對象是處於轉型期,但如果是在空不工作狀態:
MyObject.GetComponent<Animator>().IsInTransition(0)
如何檢查一個帶動畫的對象是否處於空狀態?如何檢查一個空狀態的對象?
我需要禁用使用SETACTIVE(假)的對象,這樣:
如果對象是在狀態之間的轉換 - 完成過渡,然後將其禁用。
如果對象處於默認空狀態 - 立即禁用它。
此代碼的工作,如果對象是處於轉型期,但如果是在空不工作狀態:
MyObject.GetComponent<Animator>().IsInTransition(0)
確定這裏就是我做的。
我假設你知道要禁用在對象的「默認的空狀態」的名稱。
聲明具有「默認空狀態」作爲一個字符串靜態int變量這樣的散列:
static int VAR-NAME = Animator.StringToHash("Base.NAMEOFSTATE");
這是假設您的基礎層被稱爲「基礎」。
在更新(的話),把當前狀態的變量是這樣的:
currentState = anim.GetCurrentAnimatorStateInfo(0);
,然後使用IF語句來檢查,如果你的「默認爲空狀態」等於這樣的當前狀態:
if (currentState.nameHash == VAR-NAME){
Debug.Log("Do Stuff Here");
}
玩得開心編碼!
非常感謝! :) – Rumata
測試null,並確保在對象完成每個狀態之前不要將對象設置爲值。如果您正在運行異步,則將對象置於鎖定狀態,同時在狀態之間轉換。 – jdweng