我正在2d制作一个游戏,每当我创建一个动画精灵时,动画控制器会自动创建,我不知道为什么,我曾经尝试过,但我认为它不是必要的动画我只想制作2d ..所以经过多次尝试没有动画师播放动画(因为团结说我必须设置动画遗产,我不知道在哪里),我试着在动画师中播放动画..我搜索过脚本引用并编写代码如下:
#pragma strict
var velocity : float = 8;
function Update ()
{
var movement = Input.GetAxis("Horizontal") * velocity;
transform.Translate(Vector2.right * movement * Time.deltaTime);
if(Input.anyKey)
Animator.Play("move");
}
Unity所说的错误是:Assets / PlayerControl.js(12,26):BCE0020:访问非静态成员'Play'需要'UnityEngine.Animator'类型的实例。
所以我试着这样做:
function Start ()
{
//var anim = GetComponent("Animator");
}
function Update ()
{
var movement = Input.GetAxis("Horizontal") * velocity;
transform.Translate(Vector2.right * movement * Time.deltaTime);
if(Input.anyKey)
anim.Play("move");
}
发生另一个错误:Assets / PlayerControl.js(17,17):BCE0005:未知标识符:'anim'。
我只想玩一个只会改变精灵的简单动画。我知道如何在没有动画师的情况下播放动画..所以请告诉我该如何处理..如何停止统一自动创建动画控制器或设置动画遗产,或如何使用动画师脚本修复此问题。
更新 我删除代码只是为了制作其他东西,而我搜索解决方案,但现在似乎动画师正在运行这个动画,无论如何..我做了另一个状态作为空闲,但然后它转到我创建的动画。我真的不明白这一点。
答案 0 :(得分:1)
Unity并没有为动画播放提供静态方法。往上看。 http://docs.unity3d.com/ScriptReference/Animator.html
尝试播放动画 GetComponent(" Animator")。播放("移动",-1,0.0f);
检查官方网站的脚本参考。 http://docs.unity3d.com/ScriptReference/Animator.Play.html