gpt4 book ai didi

c# - 代码不启动/停止动画

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:35 25 4
gpt4 key购买 nike

从逻辑上讲,这段代码对我来说看起来不错,但当我运行代码时没有按预期工作,动画没有激活或停用。为了测试目的,我把 qwerty int 放在那里。

void WaitingForPipe () {

qwerty = 1;
PipeEntry.GetComponent <Animator>().enabled=true;

Wait ();

qwerty = 2;
//yield return new WaitForSeconds(2);

PipeEntry.GetComponent<Animator>().enabled=false;
qwerty = 3;
//GameObject.Find("FPSController").GetComponent("FirstPersonController").enabled=true;
}

IEnumerator Wait()
{
//This is a coroutine
//Debug.Log("Start Wait() function. The time is: "+Time.time);
//Debug.Log( "Float duration = "+duration);
yield return new WaitForSeconds(2); //Wait
//Debug.Log("End Wait() function and the time is: "+Time.time);
}

最佳答案

C# 中的协程不是您只需调用它们即可运行的方法,它仅适用于 UnityScript。为了在 C# 中启动协程,您必须在 MonoBehaviour 实例上调用 StartCoroutine(YourCoroutine());

如果它看起来像这样,你的代码就可以工作:

IEnumerator WaitingForPipe()
{
PipeEntry.GetComponent <Animator>().enabled=true;

yield return new WaitForSeconds(2);

PipeEntry.GetComponent<Animator>().enabled=false;
}

并且您必须从某处使用 StartCoroutine(WaitingForPipe()); 来启动协程。

您可以在官方文档中阅读有关协程的更多信息:https://docs.unity3d.com/Manual/Coroutines.html

关于c# - 代码不启动/停止动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com