2014-12-05 35 views
1

我試圖讓動畫發生一次使用此代碼按下空格鍵時沒有「動畫」:Unity2D:MissingComponentException:有附在「臂」的遊戲對象

using UnityEngine; 
using System.Collections; 

public class ArmSwipe : MonoBehaviour { 

    Animation me; 

    void Start(){ 
     me=GetComponent<Animation>(); 
    } 

    // Update is called once per frame 
    void Update() { 
     if (Input.GetKeyDown(KeyCode.Space)){ 
      me.Play(); 
     } 
    } 
} 

每次我運行它我得到這個錯誤

MissingComponentException:「Arm」遊戲對象沒有附加「動畫」,但腳本試圖訪問它。 您可能需要將動畫添加到遊戲對象「Arm」。或者您的腳本在使用之前需要檢查組件是否已連接。

UnityEngine.Animation.Play (PlayMode mode) 
UnityEngine.Animation.Play() 
ArmSwipe.Update() (at Assets/Scripts/ArmSwipe.cs:18) 

編輯:

Screenshot1 Animator

回答

0

你的遊戲物體臂需要有連接到它的動畫。看起來你沒有附屬於手臂的動畫。你能附上你的場景圖的截圖,以及你的Arm對象的檢查器屬性嗎?

此外,您可能應該使用Input.GetKeyUp而不是像您目前所擁有的KeyDown。 KeyDown只會導致動畫在每次更新時重新播放,並且看起來像是凍結或口吃。

+0

我添加了一些我認爲會有幫助的圖像 – 2014-12-05 01:44:57

+0

看起來像是在mecanim動畫方法(Animator Controller,處理基於腳本中設置的觸發器/值的動畫的狀態機)和傳統動畫方法(腳本直接調用動畫)。您可能需要重新訪問Unity網站上的學習部分,並閱讀mecanim教程。 – Lefty 2014-12-05 10:30:47