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

MonoBehaviour.Invoke

建议修改

成功!

感谢您帮助我们提升 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议,并在适用情况下进行更新。

关闭

提交失败

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

关闭

取消

切换到手册

声明

public void Invoke(string methodName, float time);

描述

在 time 秒后调用 methodName 方法。

如果将 time 设置为 0,并在第一次帧更新之前调用 Invoke,则该方法将在下一个 Update 周期之前被调用,也就是在 MonoBehaviour.Update 之前。在这种情况下,最好直接调用该函数。

注意:将 time 设置为负值与将其设置为 0 相同。

在其他情况下,方法的执行顺序取决于调用的时间。

如果您需要向方法传递参数,请考虑使用 Coroutine。协程还提供更好的性能。

using UnityEngine;
using System.Collections.Generic;

public class ExampleScript : MonoBehaviour { // Launches a projectile in 2 seconds

Rigidbody projectile;

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

void LaunchProjectile() { Rigidbody instance = Instantiate(projectile); instance.velocity = Random.insideUnitSphere * 5.0f; } }