由于标题声明动画没有播放。告诉它播放的行是在协程中,代码在waitforseconds(3f)之前。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Play : MonoBehaviour {
public Animator AnimatorRef;
// Use this for initialization
void Start () {
if (AnimatorRef == null)
{
AnimatorRef = GetComponent<Animator>();
}
}
public void PlayGame()
{
StartCoroutine(TitlePlay());
Debug.Log("playing");
}
IEnumerator TitlePlay()
{
Debug.Log("playing1");
AnimatorRef.SetBool("Enlarge", true);
yield return new WaitForSeconds(3f);
Debug.Log("playing2");
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
}
}
它抓住动画师参考文献并且所有三条评论都显示出来。
答案 0 :(得分:1)
2注意事项。
你检查过转换和AnimationController吗?
你可以打开AnimationController来查看bool在运行时是否发生了变化,如果你知道你的动画状态之间存在转换错误。
如果您注释掉“LoadScene”部分,那么动画会正确播放吗?
我怀疑动画bool由于某种原因不允许在整个方法运行之前执行它的动作,但可能是错误的。
答案 1 :(得分:0)
我的团结关闭没有保存,但它现在有效。如果有人有这个问题重制动画并确认你从初始动画,然后单击添加剪辑。然后它对我有用:)