尚未指定Controles的变量animacao

时间:2016-12-30 12:38:16

标签: javascript unity3d unity5

我试图让我的角色走进一个animation并停留在另一个Animator

float中,我创建了一个#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); } } andar 类型的参数来控制动画之间的交换,如下图所示。

enter image description here

并为箭头指定以下条件:

* andar&gt; 0.1 =人物;
* andar&lt; 0.1 = personagemStop;

其中一个箭头的示例:

enter image description here

我的javascript代码:

var foo = Activator.CreateInstance(assName, "Bar.Baz.Foo");

也许它可能与 Unity版

相关

我正在学习本教程 https://www.youtube.com/watch?v=PDuqGIB8j7E

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

错误:

  

UnassignedReferenceException:Controles的变量animacao   没有被分配。您可能需要分配animacao变量   检查员中的Controles脚本。   UnityEngine.Animator.SetFloat(System.String name,Single value)   Controles.Update()(在Assets / Assets / Scripts / Controles.js:17)

1 个答案:

答案 0 :(得分:1)

答案很简单,你需要拖拽和放大将包含动画制作者的对象放入检查器中的脚本的animacao字段中。否则,您的脚本不知道要使用哪个动画师。

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