2014-04-21 44 views
0

在我的遊戲中,我創建了一個世界視圖,讓玩家看到從一個關卡到另一個關卡的進展。我所做的是我製作了小型「踏腳石」,每個級別有三個。所以如果我有三個關卡,他們之間有6個小點。如何轉到動畫中的特定幀?

我後來做了什麼創建了一個精靈,其中第1幀包含1個點,第2幀包含2個點。喜歡的東西:

0 - - - 0 - - - 0 

哪裏,如果玩家擊敗了1級,它看起來像:

0 - - - 0 

所以,我有我的切片精靈了,並且加入了動畫。默認情況下,它會一次又一次地播放它。我通過將速度設置爲0來停止此操作。

該遊戲對象被命名爲「leveldots_0」,因爲它是帶有控制器「leveldots_0」的Animator。我猜這部動畫被命名爲「leveldots」,因爲它是帶有播放圖標的資產?我是新來的...

因此,在我的相機(所有地方)在我的更新方法中,我想控制什麼框架的點。舉例來說,我知道,如果玩家擊敗1級,所以我想表明的點到2級

我想我可以搶動畫,我會很高興:

Animator leveldots = GameObject.Find("leveldots_0").GetComponent<Animator>(); 

並且那好,它很無聊時,我嘗試下一個邏輯(???)的步驟,讓動畫本身的保持:

leveldots.animation["leveldots"].time = 1.0f; 

還有就是我得到的錯誤:

There is no 'Animation' attached to the "leveldots_0" game object, but a script is trying to access it. 

如何獲取動畫,並在動畫中轉到幀/時間?

+0

因爲您正在使用動畫師,爲什麼不創建3個動畫。 「動畫1」只是您的「0」圖標,並使用bool進行單向過渡到「動畫2」,這是您的移動點動畫。然後在退出時間條件下將「動畫2」轉換爲「動畫3」。 – Verv

回答

0

該錯誤是說您沒有附加到您的遊戲對象的動畫組件。您正在使用Animator組件。 Animator組件就像一個狀態機,您可以在其中將動畫與某些參數關聯,還可以在動畫之間進行插值。

現在,leveldots.animation是對該對象的動畫組件的引用,而不是動畫製作者。你可以簡單地改變另一個組件,並使用相同的動畫,然後你可以訪問相同的代碼。或者你可以學習如何使用Animator here

+0

你的意思是我可以調用Animation嗎?我知道levedots.animation不是動畫製作者,但是如何通過停止並轉到某個框架來控制動畫...? – Jason94