【问题标题】:How can i make my caroutine run in every x seconds我怎样才能让我的 caroutine 每 x 秒运行一次
【发布时间】:2022-01-16 01:02:24
【问题描述】:

我创建了一个 caroutine,我希望它每 x 秒运行一次。我尝试使用 while 循环,但它不适用于这个 caroutine。有人可以帮忙吗?谢谢。

 IEnumerator StartFire()
{

   
    {
        Firing = true;

        animator.SetBool("isFiring", true);

        yield return new WaitForSeconds(2);

        Firing = false;

        animator.SetBool("isFiring", false);

    }


}

【问题讨论】:

  • 在其中放置一个while循环并在最后等待你希望它在循环之间的时间

标签: c# unity3d


【解决方案1】:

我认为你最好使用InvokeRepeating()。你只需要调用一次,它就会重复。

例子:

void Start()
{
    InvokeRepeating("myTask", 1.5f, 1.5f);
}

void myTask()
{
    // Do something.
}

如果您想在任何时候停止它,您只需致电:CancelInvoke();

【讨论】:

    猜你喜欢
    • 2022-08-20
    • 1970-01-01
    • 2021-05-27
    • 2021-05-29
    • 1970-01-01
    • 2010-12-16
    • 2022-12-18
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多