Unity如何在每帧结束执行某个方法,非Update之类

(没币了,大佬们见谅= = )
如题,
```
private bool IsGetHiddle = true;
private Image[] HiddleImageList;
private float HiddleImageAlpha = 255;

    protected virtual void HiddlePanel(GameObject panel)
{
    if (IsGetHiddle)
    {
        IsGetHiddle = false;
        HiddleImageList = panel.transform.GetComponentsInChildren<Image>();
    }
    HiddleImageAlpha -= Time.deltaTime * 255;
    HiddleImageAlpha = Mathf.Clamp(HiddleImageAlpha, 0, 255);
    Debug.Log(HiddleImageAlpha);
    for (int i = 1; i < HiddleImageList.Length; i++)
    {
        HiddleImageList[i].color = new Color(1,1,1,HiddleImageAlpha);
    }
    if (HiddleImageAlpha > 0)
    {
        HiddlePanel(panel);
    }
    ///参数初始化,
    IsGetHiddle = true;
    HiddleImageList = null;
    HiddleImageAlpha = 255;
}
        我现在有个递归的方法,我的想法是只需要执行一次,后续的代码就不在需要我费力,但是现在这个方法又不能放在父类的Update里面,所以想请问一下各位,有没有办法像是协同一样,在每帧结束之后检查我这个方法,或者是如何绕过Main线程,执行对应UnityEngine方法

https://zhidao.baidu.com/question/1574414312281998980.html

可以在协程中加入一下代码来实现。

 yield return new waitForEndOfFrame;
 //帧结束后需执行的代码

具体原理可参考生命周期,希望对你有帮助,望采纳。
https://www.xuanyusong.com/archives/3225
https://blog.csdn.net/vr_ishow/article/details/65626888

你说的只执行一次是什么意思,整个程序跑起来只执行一次还是每帧执行一次。其次你说的帧结束检查这个函数是什么意思?执行这个函数吗?还有绕过main线程什么意思,你认为的main线程是做什么的?脚本生命周期吗?

说的有些不完善,其实就是我现在有一个递归的方法,是放在Main线程中的,而他满足递归条件的时候回等待XX毫秒才会进入递归,而在我等待的若干毫秒之内,就让给其他方法执行,打个比方,就是有没有办法让Therad.Sleep(XX)只暂停我这个方法,而不影响其他的执行

不能用协程 ? 你和别人打赌了? 这种在帧后执行 或固定时间刷新一次的方法为什么不用协程 协程里多yield return null几次就好了你就是打算你 的这个函数只调用一次呗 再你要等的地方循环yield 啊

自己开线程 主函数相关内容还是要回来 你要么 把需要的数据 都拷贝成自己的结构 放别的线程里处理 好 再传回来 赋值一遍
不然