1.public void InvokeRepeating(string methodName, float time, float repeatRate);

延迟重复执行函数
InvokeRepeating
参数一:函数名字符串
参数二:第一次执行的延迟时间
参数三:之后每次执行的间隔时间

注意:
1-1.延时函数第一个参数传入的是函数名字符串
1-2.延时函数没办法传入参数 只有包裹一层
1-3.函数名必须是该脚本上申明的函数

2.public void Invoke(string methodName, float time);

延迟函数
Invoke
参数一:函数名 字符串
参数二:延迟时间 秒为单位

注意:
它的注意事项和延时函数一致

3.取消延迟函数
3-1取消该脚本上的所有延时函数执行
CancelInvoke();

3-2指定函数名取消
只要取消了指定延迟 不管之前该函数开启了多少次 延迟执行 都会统一取消
CancelInvoke("DelayDoSomething");
 

4.总结

继承MonoBehavior的脚本可以使用延时相关函数
函数相关
Invoke 延时函数
InvokeRepeating 延时重复函数
CancelInvoke 停止所有或者指定延时函数
IsInvoking 判断是否有延时函数待执行
使用相关
1.参数都是函数名,无法传参数
2.只能执行该脚本中申明的函数
3.对象或脚本失活无法停止延时函数执行,只有销毁组件或者对象才会停止或者代码停止

5.代码示例

public class xiecheng : MonoBehaviour
{
    void Start()
    {
        //InvokeRepeating("delayFun", 0, 1);
        delayFun2();
    }

    private int count = 0;
   /* private void delayFun()
    {
        print("当前秒数:" + count + "秒");
        count++;
    }*/

    private void delayFun2()
    {
        print("当前秒数(2)" + count);
        count++;
        Invoke("delayFun2", 1);
    }
}

运行结果:

  

                 
 


 

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐