unity3d c# Invoke 如何取消
时间: 2023-07-27 09:25:05 浏览: 203
Unity3D中的Invoke方法可以通过CancelInvoke方法来取消已经调用的方法。CancelInvoke方法的语法如下:
```csharp
public void CancelInvoke();
public void CancelInvoke(string methodName);
```
其中,第一个方法将取消所有已经调用的方法,而第二个方法将只取消指定的方法。
例如,以下代码将在2秒后调用名为"MyMethod"的方法,并且在4秒后取消调用:
```csharp
Invoke("MyMethod", 2.0f);
Invoke("CancelMyMethod", 4.0f);
...
void CancelMyMethod()
{
CancelInvoke("MyMethod");
}
```
这将在2秒后开始调用"MyMethod"方法,之后在4秒后调用"CancelMyMethod"方法,"CancelMyMethod"方法将通过CancelInvoke方法来取消"MyMethod"方法的调用。
相关问题
unity3d c# Invoke
Unity3D中的Invoke方法是用于在指定的时间后调用某个方法。它的语法如下:
```csharp
public void Invoke(string methodName, float time);
public void InvokeRepeating(string methodName, float time, float repeatRate);
```
其中,methodName是需要调用的方法名,time是需要延迟的时间(以秒为单位),repeatRate是重复调用的时间间隔(以秒为单位)。
例如,以下代码将在2秒后调用名为"MyMethod"的方法:
```csharp
Invoke("MyMethod", 2.0f);
```
如果想要重复调用该方法,可以使用InvokeRepeating方法:
```csharp
InvokeRepeating("MyMethod", 2.0f, 1.0f);
```
这将在2秒后开始调用"MyMethod"方法,之后每隔1秒钟重复调用一次。
阅读全文