因此,动画在“自动播放”上播放,但是当我无法从我的 C# 播放它时。这是运行它的代码:
[SerializeField]
private GameObject theThing;
theThing.gameObject.GetComponent<Animation>().Play();
//i also tried using Animator but no luck
我还在动画文件中打开了 Legacy
如果要Legacy
用于动画,则必须在动画中设置每个的速度state
。以下代码应该可以完成这项工作:
private GameObject theThing;
public void PlayAnim()
{
foreach (AnimationState state in theThing.GetComponent<Animation>())
{
state.speed = 0.5f;
}
this.GetComponent<Animation>().Play();
}
所以,我的问题是我将预制件设置为播放动画而不是实例化的动画。我也像这样再次使用了Animator:
theThingIns.gameObject.GetComponent<Animator>().Play();