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”状态。