obsidian/笔记文件/2.笔记/【Unity】关于Invoke,InvokeRepeating,CancelInvoke,IsInvoking.md

74 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

2025-03-26 00:02:56 +08:00
#unity/日常积累
Invoke 通过方法名来调用方法
``` cs
public void Invoke(string methodName, float time);
```
methodName 方法名
time 延迟调用时间
我们添加一个Hello方法来测试
void Hello()
{
print("Hello");
}
2秒后调用方法
``` cs
Invoke("Hello", 2);
```
InvokeRepeating 以特定的时间间隔重复调用方法
``` cs
public void InvokeRepeating(string methodName, float time, float repeatRate);
```
methodName 方法名
time 延迟调用时间
repeatRate 重复调用时间间隔
2秒后调用方法每5秒调用一次
``` cs
InvokeRepeating("Hello", 2, 5);
```
CancelInvoke 取消调用方法
``` cs
public void CancelInvoke(string methodName);
```
``` cs
public void CancelInvoke();
```
第一个取消指定的方法
第二个取消该MonoBehaviour全部的方法
取消调用
``` cs
CancelInvoke("Hello");
```
IsInvoking 判断方法是否挂起
``` cs
public bool IsInvoking(string methodName);
```
``` cs
public bool IsInvoking();
```
第一个返回指定的方法是否挂起
第二个返回该MonoBehaviour是否存在挂起的方法