Javascript 尚未分配控件的变量animacao

Javascript 尚未分配控件的变量animacao,javascript,unity3d,unity5,Javascript,Unity3d,Unity5,我试图让我的角色在一个动画中行走,在另一个动画中静止不动 在Animator中,我创建了一个类型为floatandar的参数来控制动画之间的交换,如下图所示 并为箭头指定以下条件: *andar>0.1=1 *andar

我试图让我的角色在一个
动画中行走,在另一个
动画中静止不动

Animator
中,我创建了一个类型为
float
andar的参数来控制动画之间的交换,如下图所示


并为箭头指定以下条件:

*andar>0.1=1
*andar<0.1=顶部

其中一个箭头的示例:


我的javascript代码:

#pragma strict

var speed : float;
var personagem : GameObject;
var animacao : Animator;


function Start () {
    speed = 2;
}


function Update () {
    transform.position.x += Input.GetAxis("Horizontal") * speed * Time.deltaTime;

    //THE ERROR OCCURS IN "andar"!!!!!_________________________________________
    animacao.SetFloat("andar",Mathf.Abs(Input.GetAxis("Horizontal")));
    //________________________________________________________________

    if(Input.GetAxis("Horizontal") < 0){
        personagem.gameObject.transform.eulerAngles = Vector2(0,180);
    }
    else if(Input.GetAxis("Horizontal") > 0){
        personagem.gameObject.transform.eulerAngles = Vector2(0,0);
    }
}
#pragma strict
变量速度:浮动;
游戏对象;
var animacao:动画师;
函数启动(){
速度=2;
}
函数更新(){
transform.position.x+=Input.GetAxis(“水平”)*speed*Time.deltaTime;
//错误发生在“andar”中_________________________________________
animacao.SetFloat(“andar”,Mathf.Abs(Input.GetAxis(“水平”));
//________________________________________________________________
if(Input.GetAxis(“水平”)<0){
personagem.gameObject.transform.eulerAngles=Vector2(0180);
}
else if(Input.GetAxis(“水平”)>0){
personagem.gameObject.transform.eulerAngles=Vector2(0,0);
}
}

也许这可能与统一版本有关

我正在学习本教程。

我的统一版本=5.3.1f1
Unity教程版本=4.3.2f1


错误:

UnassignedReferenceException:Controls的变量animacao具有 没有分配。您可能需要指定animacao变量 检查程序中控件脚本的。 UnityEngine.Animator.SetFloat(System.String名称,单值) Update()(位于Assets/Assets/Scripts/controlles.js:17)


答案很简单,您需要在inspector中将容纳动画师的对象拖放到脚本的
animacao
字段中。否则,脚本将不知道要使用哪个动画师


事实上,视频中没有显示,它是在5:28左右的黑屏上完成的。

谢谢,我今晚会测试并警告您。