2016-06-08 81 views
1

因此,在Unity中,我有一個簡單的腳本來檢測天氣或不是播放器按W或S,如果他們這樣做,然後播放步行動畫。它的工作原理很好,但如果我停止移動,並且動畫是通過播放的一半,我按下W或S,它會從動畫的開始處重新開始動畫,而不是當前停止的點,有沒有辦法使從那個時候玩,這裏是代碼:Unity C# - 從停止點開始繼續播放動畫

if (Input.GetKey(KeyCode.W)) 
    { 
     animation.Play("Walking"); 
    } 

    if (Input.GetKey(KeyCode.S)) 
    { 
     animation.Play("Walking"); 
    } 

    if (Input.GetKeyUp(KeyCode.W)) 
    { 
     animation.Stop(); 
    } 

    if (Input.GetKeyUp(KeyCode.S)) 
    { 
     animation.Stop(); 
    } 

回答

0

我只是做改變它,而不是使用啓動速度和停止:

animation.Play(); 
    if (Input.GetKey(KeyCode.W)) 
    { 
     animation["Walking"].speed = 1; 
    } 

    if (Input.GetKey(KeyCode.S)) 
    { 
     animation["Walking"].speed = -1; 
    } 

    if (Input.GetKeyUp(KeyCode.W)) 
    { 
     animation["Walking"].speed = 0; 
    } 

    if (Input.GetKeyUp(KeyCode.S)) 
    { 
     animation["Walking"].speed = 0; 
    } 
+0

這看起來並不像它會在工作兩個鍵被按下的情況,或者當我讓我的兩個鍵之一走的情況。我不得不放開這兩個鍵,然後重新按一個鍵移回。 – ps2goat

+0

對我而言它有效 –