Unity3d 为什么这个统一动画不起作用

Unity3d 为什么这个统一动画不起作用,unity3d,unityscript,Unity3d,Unityscript,嘿,伙计们,我的密码有问题。我已经做了一段时间了,似乎还没弄明白。我做错了什么?(我只是在动画方面有问题。) #pragma strict 公共var剪辑:AnimationClip; 公共变量riffle:雪碧; 公共var手枪:雪碧; 函数启动(){ } 函数Anima(){ GetComponent。(.Play(GetComponent。.clip.name); } 函数更新(){ if(Input.GetKeyDown(“a”)){ 印刷品(“A”); GetComponent(Spr

嘿,伙计们,我的密码有问题。我已经做了一段时间了,似乎还没弄明白。我做错了什么?(我只是在动画方面有问题。)

#pragma strict
公共var剪辑:AnimationClip;
公共变量riffle:雪碧;
公共var手枪:雪碧;
函数启动(){
}
函数Anima(){
GetComponent。(.Play(GetComponent。.clip.name);
}
函数更新(){
if(Input.GetKeyDown(“a”)){
印刷品(“A”);
GetComponent(SpriteRenderer).sprite=riffle;
}
if(Input.GetKeyDown(“d”)){
印刷品(“D”);
精灵=手枪;
}
if(Input.GetKeyDown(“w”)){
阿尼玛();
}
if(Input.GetKeyDown(“s”)){
阿尼玛();
}
}
anima()函数内部行上的NullReferenceException


这显然意味着脚本附加的地方没有动画组件。请确保附加此脚本的位置必须有动画组件。

我在anima()函数内的行中得到一个NullReferenceException。我也不太清楚这意味着什么。使用CrossFade它对我有效:你确定
GetComponent。(
返回了什么吗?
    #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();
        }
}