在Unity中是否存在一种不固定/更新()或OnGUI()的一致方法?

时间:2016-09-30 08:31:11

标签: unity3d

所以,我正在进行一个统一项目,我发现自己的功能不需要每秒调用33次或每0.02秒调用一次。我不确定GUI渲染的频率。有没有像上面提到的方法那样每秒发生四次?

因为如果没有,我必须制作一个,这似乎本身就会耗费资源。

2 个答案:

答案 0 :(得分:1)

您可以创建必须每秒执行X次的方法,并使用InvokeRepeating进行调用。 像这样:

InvokeRepeating("methodName", 0.0, 1.0/X);

您可以在Start()函数中调用此函数。

//Example (executing "methodName" 4 times per second).
void Start(){
   InvokeRepeating("methodName", 0.0, 0.25f);
}

答案 1 :(得分:0)

对于这种情况,您可以使用corrutine

这种方法可以帮到你

void Start(){

    StartCoroutine(yourMethod());
}

IEnumerator yourMethod()
{
   while(true){
    // do something every 4 seconds
    yield return new WaitForSeconds(4);
   }
}

重要

  • 使用IEnumerator创建的每个方法都必须在Coroutine();
  • 中调用
  • yield return new WaitForSeconds(4)将此方法等待4秒。