我怎样才能让我的 caroutine 每 x 秒运行一次

Posted

技术标签:

【中文标题】我怎样才能让我的 caroutine 每 x 秒运行一次【英文标题】:How can i make my caroutine run in every x seconds 【发布时间】: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循环并在最后等待你希望它在循环之间的时间 【参考方案1】:

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

例子:

void Start()

    InvokeRepeating("myTask", 1.5f, 1.5f);


void myTask()

    // Do something.

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

【讨论】:

以上是关于我怎样才能让我的 caroutine 每 x 秒运行一次的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能让我的无效公开在任何地方使用

我怎样才能让我的角色对角移动?

我怎样才能让我的物理对象安定下来?

我怎样才能让我的表单更顺畅地调整大小?

我怎样才能让我的应用程序总是从第二个视图开始?

我怎样才能让我的程序等待输入,而不是在循环中