Unity Invoke以及InvokeRepeating延时函数用法

InvokeInvokeRepeating是MonoBehaviour中的两个内置延时方法

  • Invoke
    Invoke(methodName:string, time:float): void;

methodName:方法名
time:多少秒之后执行

  • InvokeRepeating
    InvokeRepeating(methodName: string, time: float, repeatRate: float): void

methodName:方法名
time:多少秒之后执行
repeatRate:重读执行间隔

  • IsInvoking: 用来判断某方法是否被延迟,即将执行
  • CancelInvoke: 取消该脚本上所有的延时方法

代码演示:

public class TestInvoke : MonoBehaviour
{

    private float nowTime;

    private int count;

    void Start()
    {
        nowTime = Time.time;
        Debug.Log("时间点:" + nowTime);
        Invoke("setTimeOut", 3f);

        InvokeRepeating("setTimeRepeat", 2f, 1f);
    }

    private void setTimeOut()
    {
        nowTime = Time.time;
        Debug.Log("执行延时方法: " + nowTime);
    }

    private void setTimeRepeat()
    {
        nowTime = Time.time;
        Debug.Log("执行重复方法: " + nowTime);

        count += 1;

        if (count == 10)
        {
            CancelInvoke();
        }
    }
}

运行结果:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值