2015-05-29 94 views
0

我是新來的Unity /編碼,並試圖創建一個簡單的兩步動畫,我可以調整每個步驟的延遲時間。我在我的遊戲中使用兩個動畫:「上」和「下」。使用Unity的動畫工具的簡單的兩步動畫

我使用的是枚舉播放動畫,這是我到目前爲止有:

IEnumerator Go() 
{ 
    while(true) 
    { 
     GetComponent<Animation>().Play ("Up"); 
     yield return new WaitForSeconds(delayTime); 
     break; 
     GetComponent<Animation>().Play ("Down"); 
     yield return new WaitForSeconds(delayTime); 
     break; 
    } 
} 

我明白我可以動畫整個事情作爲一個運動,但我希望能夠即時調整延遲時間。我的目標是連續製作這兩部動畫。向上,然後向下。目前我的電梯上升並停留在那裏。我究竟做錯了什麼?

感謝您的幫助!

回答

0

卸下可拆卸條款:

IEnumerator Go() 
{ 
    while(true) 
    { 
     GetComponent<Animation>().Play ("Up"); 
     yield return new WaitForSeconds(delayTime); 
     GetComponent<Animation>().Play ("Down"); 
     yield return new WaitForSeconds(delayTime); 
    } 
} 

現在應該循環的兩個動畫。在原始代碼中,break statements導致執行跳出循環,因此「Down」的Play永遠不會被調用,並且該函數的執行被終止。

如果您只想在需要刪除while循環時升降機升降。