为什么Animator变量始终为null?

时间:2017-04-03 23:14:28

标签: c# animation unity3d unity5

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Animations : MonoBehaviour
{
    public enum AnimatorStates
    {
        WALK, RUN, IDLE
    }

    private Animator _anim;

    void Start()
    {
        _anim = GetComponent<Animator>();
    }

    public void PlayState(AnimatorStates state)
    {
        string animName = string.Empty;
        switch (state)
        {
            case AnimatorStates.WALK:
                animName = "Walk";
                break;
        }
        _anim.Play(animName);
    }
}

我使用了一个断点。 在Start函数_anim中的行不为null之后。 但是在行之后:

_anim.Play(animName);

_anim为空。

我在Animator中有一个“Walk”状态,我添加了一个新状态,并将其命名为“Walk”。

这就是我使用其他脚本的动画脚本的方式:

void Update()
    {
        if (MyCommands.walkbetweenwaypoints == true)
        {
            anims.PlayState(Animations.AnimatorStates.WALK);
            WayPointsAI();
            ReverseWayPointsAI();
        }

        DrawLinesInScene();
    }

但我无法弄清楚为什么_anim为空并且没有播放“Walk”状态。

Animator

0 个答案:

没有答案