版本: Unity 6 (6000.0)
语言英语
  • C#

MonoBehaviour.InvokeRepeating

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法采纳所有提交内容,但我们确实会阅读用户提出的每个修改建议,并在适当时进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public void InvokeRepeating(string methodName, float time, float repeatRate);

参数

methodName 要调用的方法的名称。
time n 秒后开始调用。
repeatRate 每 n 秒重复一次。

描述

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

要取消 InvokeRepeating,请使用 MonoBehaviour.CancelInvoke

注意:time 和 repeatRate 参数取决于 Time.timeScale。例如,如果 Time.timeScale 为 0,则 InvokeRepeating 不会调用。另一方面,如果 Time.timeScale 为 2,则 InvokeRepeating 将重复调用速度加倍。

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; } }