无法让动画工作。 Animator Setfloat错误

时间:2015-05-12 13:32:59

标签: c# animation unity3d

我仍然是Unity和编码的新手,所以记住这一点! 我也在Unity论坛上问了这个问题,但人们告诉我代码应该编译得很好而且它们都处于亏损状态,所以我希望能在这里找到答案!

我试图让我的步行动画尽快播放我称之为速度的参数> 0.1

我一直收到这个错误,经过一些谷歌搜索后我还是没弄明白。

Assets/Scripts/PlayerMovement.cs(28,26): error CS1061: Type `Animator' does not contain a definition for `SetFloat' and no extension method `SetFloat' of type `Animator' could be found (are you missing a using directive or an assembly reference?)

知道可能出现什么问题吗?

这是我的剧本:

using UnityEngine;
using System.Collections;

public class PlayerMovement : MonoBehaviour {
    public float speed;
    public float floatDown;
    public Boundary boundary;
    Animator animator;

    [System.Serializable]
    public class Boundary{
        public float xMin, xMax, zMin, zMax, yMin, yMax;
    }
    // Use this for initialization.
    void Start () {
        gameObject.tag = "Player";
        animator = GetComponent<Animator> ();
    }

    // Update is called once per frame.
    void Update () {

        //Basic left, right, up, down, movement.
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis ("Jump");
        animator.SetFloat ("Speed", moveHorizontal);
        Vector3 movement = new Vector3 (moveHorizontal, moveVertical, 0.0f);
        GetComponent<Rigidbody>().velocity = movement * speed;

        //Clamping so Bubbleboy doesnt exit screen.
        GetComponent<Rigidbody>().position = new Vector3
        (
        Mathf.Clamp (GetComponent<Rigidbody>().position.x, boundary.xMin, boundary.xMax),
        Mathf.Clamp (GetComponent<Rigidbody>().position.y, boundary.yMin, boundary.yMax),
        Mathf.Clamp (GetComponent<Rigidbody>().position.z, boundary.zMin, boundary.zMax)
        );

        //Using relativeForce to simulate floating down.
        if (Input.GetKey (KeyCode.S)) {
            GetComponent<Rigidbody>().AddRelativeForce (0, floatDown, 0);
        }
    }
}

2 个答案:

答案 0 :(得分:1)

确保你没有一个名为&#34; Animator&#34;的脚本。如果你有相同名称的项目脚本,Unity会更喜欢你的脚本而不是Unity的动画师类。

答案 1 :(得分:1)

你走的是参考图片:http://i.imgur.com/CUtND9a.png

您在2个脚本上有错误。根据我团结合作的经验,这会导致视觉工作室/单声道开发导致“假错误”。

给出的错误很可能是因为其中一个脚本包含(非相关)错误。

我之所以这么想,是因为我已经在我的统一思想中编译了你的代码,没有出现任何错误。按照你提供的图像,并且当你的ide出错时知道Unity表现得很糟糕,很有可能就是这种情况。

修改

哦,差点忘了;

如果是这种情况,您可以在键入IDE时轻松注意到它。应该搞乱自动完成(IntelliSense)并提供默认方法。