Version: 2022.3

MonoBehaviour.InvokeRepeating

切换到手册
public void InvokeRepeating (string methodName, float time, float repeatRate);

参数

methodName The name of a method to invoke.
time Start invoking after n seconds.
repeatRate Repeat every n seconds.

描述

time 秒后调用 methodName 方法,然后每 repeatRate 秒调用一次。

To cancel InvokeRepeating use MonoBehaviour.CancelInvoke.

Note :The time and repeatRate parameters depend on Time.timeScale. For example, if Time.timeScale is 0 InvokeRepeating will not invoke. On the other hand, if Time.timeScale is 2, InvokeRepeating will repeat twice as fast.

using UnityEngine;
using System.Collections.Generic;

// Starting in 2 seconds. // a projectile will be launched every 0.3 seconds

public class ExampleScript : MonoBehaviour { public Rigidbody projectile;

void Start() { InvokeRepeating("LaunchProjectile", 2.0f, 0.3f); }

void LaunchProjectile() { Rigidbody instance = Instantiate(projectile);

instance.velocity = Random.insideUnitSphere * 5; } }