取消该 MonoBehaviour 上的所有 Invoke 调用。
using UnityEngine;
using System.Collections.Generic;
public class ExampleScript : MonoBehaviour
{
public GameObject projectile;
void Start()
{
// Starting in 2 seconds, a projectile will be launched every 0.3 seconds
InvokeRepeating("LaunchProjectile", 2, 0.3F);
}
void LaunchProjectile()
{
// Create a projectile GameObject and set its velocity to a random direction
GameObject instance = Instantiate(projectile);
Rigidbody rigidbody = instance.GetComponent<Rigidbody>();
rigidbody.velocity = Random.insideUnitSphere * 5;
}
void Update()
{
// Cancel all Invoke calls
if (Input.GetButton("Fire1"))
CancelInvoke();
}
}
取消该行为上所有名为 methodName
的 Invoke 调用。
using UnityEngine;
using System.Collections.Generic;
public class ExampleScript : MonoBehaviour
{
public GameObject projectile;
void Start()
{
// Starting in 2 seconds, a projectile will be launched every 0.3 seconds
InvokeRepeating("LaunchProjectile", 2, 0.3F);
}
void LaunchProjectile()
{
// Create a projectile GameObject and set its velocity to a random direction
GameObject instance = Instantiate(projectile);
Rigidbody rigidbody = instance.GetComponent<Rigidbody>();
rigidbody.velocity = Random.insideUnitSphere * 5;
}
void Update()
{
// Cancel only the LaunchProjectile invoke
if (Input.GetButton("Fire1"))
CancelInvoke("LaunchProjectile");
}
}