CancelInvoke/Invoke/InvokeRepeating/IsInvoking
方法 | 描述 | 功能 |
---|---|---|
CancelInvoke | 取消调用 | 取消此MonoBehaviour上的所有Invoke调用。 |
Invoke | 调用 | 以秒为单位调用该方法。如果时间设置为0,则在下一个更新周期调用该方法。在这种情况下,最好直接调用函数。为了更好的性能和可维护性,可以使用协程。 |
InvokeRepeating | 重复调用 | 秒为单位调用该方法,然后每秒钟重复一次。注意:如果将时间标度设置为0,则此方法无效。 |
IsInvoking | 是否调用 | 是否有methodName待处理的调用? |
public GameObject projectile;
void Start()
{
if (Input.GetKeyDown(KeyCode.Space) && !IsInvoking("methodName"))
{
//2秒后,每0.3秒一次
InvokeRepeating("methodName", 2, 0.3F);
//2秒后,
Invoke("LaunchProjectile", 2.0f);
}
}
public void methodName()
{
print("88888888888888888888");
}
void Update()
{
// 取消所有调用
if (Input.GetKeyDown(KeyCode.A) )
CancelInvoke();
}