0

因此,动画在“自动播放”上播放,但是当我无法从我的 C# 播放它时。这是运行它的代码:

[SerializeField]
private GameObject theThing;

theThing.gameObject.GetComponent<Animation>().Play();
//i also tried using Animator but no luck

我还在动画文件中打开了 Legacy

4

2 回答 2

1

如果要Legacy用于动画,则必须在动画中设置每个的速度state。以下代码应该可以完成这项工作:

private GameObject theThing;
public void PlayAnim()
{
    foreach (AnimationState state in theThing.GetComponent<Animation>())
    {
        state.speed = 0.5f;
    }
    this.GetComponent<Animation>().Play();
}
于 2017-05-22T05:37:37.010 回答
0

所以,我的问题是我将预制件设置为播放动画而不是实例化的动画。我也像这样再次使用了Animator:

theThingIns.gameObject.GetComponent<Animator>().Play();
于 2017-05-22T06:07:08.477 回答