2017-03-12 10 views
0

안녕하세요,이 코드에 문제가 있습니다. 나는 그것에 대해 잠시 일해 왔고 그것을 이해하는 것처럼 보일 수 없다. 어떻게 내가 잘못하고 있는가? (난 단지 애니메이션 비트에 문제가 있습니다.)왜이 화합 애니메이션이 작동하지 않습니까?

#pragma strict 
    public var clip : AnimationClip; 
    public var riffle : Sprite; 
    public var pistol : Sprite; 
    function Start() { 
    } 
    function Anima(){ 
     GetComponent.<Animation>().Play(GetComponent.<Animation>().clip.name); 
    } 
    function Update() { 
     if(Input.GetKeyDown("a")){ 
      print("A"); 
      GetComponent(SpriteRenderer).sprite = riffle; 
    } 
     if(Input.GetKeyDown("d")){ 
      print("D"); 
      GetComponent(SpriteRenderer).sprite = pistol; 
    } 
     if(Input.GetKeyDown("w")){ 
      Anima(); 
    } 
     if(Input.GetKeyDown("s")){ 
      Anima(); 
     } 
} 
+0

anima() 함수 안의 줄에 NullReferenceException이 발생합니다. 그게 무슨 뜻인지 정확히 모르겠습니다. – mrboberson

+0

CrossFade를 사용하면 작동합니다 : https://docs.unity3d.com/ScriptReference/Animation.CrossFade.html –

+0

확실 해요? GetComponent. ()'이 (가) 무엇인가를 반환하고 있습니까? – Serlite

답변

0

는 NullReferenceException 라인에서 애니 마() 함수의 내부가 명확 곳을 의미

스크립트에 첨부 된 애니메이션 구성 요소가 없습니다. 이 스크립트에 첨부 된 애니메이션 구성 요소가 있는지 확인하십시오.