obsidian/笔记文件/2.笔记/【Unity】关于Invoke,InvokeRepeating,CancelInvoke,IsInvoking.md
2025-03-26 00:02:56 +08:00

1.1 KiB
Raw Permalink Blame History

#unity/日常积累

Invoke 通过方法名来调用方法

public void Invoke(string methodName, float time);

methodName 方法名

time 延迟调用时间

我们添加一个Hello方法来测试

void Hello()
{
    print("Hello");
}

2秒后调用方法

Invoke("Hello", 2);

InvokeRepeating 以特定的时间间隔重复调用方法

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

methodName 方法名

time 延迟调用时间

repeatRate 重复调用时间间隔

2秒后调用方法每5秒调用一次

InvokeRepeating("Hello", 2, 5);

CancelInvoke 取消调用方法

public void CancelInvoke(string methodName);
public void CancelInvoke();

第一个取消指定的方法

第二个取消该MonoBehaviour全部的方法

取消调用

CancelInvoke("Hello");

IsInvoking 判断方法是否挂起

public bool IsInvoking(string methodName);
public bool IsInvoking();

第一个返回指定的方法是否挂起

第二个返回该MonoBehaviour是否存在挂起的方法