You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity技术咨询:如何在Start()添加延迟后再启用Update()函数

解决Unity启动阶段延迟执行Update逻辑的方案

方案1:启用/禁用脚本控制Update执行

这是最贴合需求的方式——直接让脚本在启动阶段处于禁用状态,延迟后再启用,系统就不会调用该脚本的Update()方法,直到延迟结束。

代码示例:

using UnityEngine;

public class DelayedUpdate : MonoBehaviour
{
    [SerializeField] private float startDelay = 3f; // 设置启动延迟时间

    private void Start()
    {
        // 先禁用当前脚本,暂停Update调用
        enabled = false;
        // 延迟指定时间后重新启用脚本
        Invoke(nameof(EnableScript), startDelay);
    }

    private void EnableScript()
    {
        enabled = true;
    }

    private void Update()
    {
        // 这里的逻辑只会在延迟结束后才开始执行
        Debug.Log("Update is running after delay");
    }
}

方案2:开关变量+协程控制逻辑执行

如果不想禁用整个脚本,仅控制Update内的逻辑执行时机,可以用布尔开关,通过协程在延迟后打开开关:

代码示例:

using UnityEngine;
using System.Collections;

public class DelayedUpdateLogic : MonoBehaviour
{
    [SerializeField] private float startDelay = 3f;
    private bool canRunUpdate = false;

    private IEnumerator Start()
    {
        // 等待指定延迟时间
        yield return new WaitForSeconds(startDelay);
        // 延迟结束后允许执行Update逻辑
        canRunUpdate = true;
    }

    private void Update()
    {
        if (!canRunUpdate) return;

        // 这里的逻辑只会在延迟结束后执行
        Debug.Log("Update logic is running after delay");
    }
}

注意:协程是在Unity主线程中运行的,并非真正并行,只是将代码拆分到不同帧执行,不会和Update抢占资源。

方案3:使用Unity Timer API

Unity 2020+支持的Timer(属于UnityEngine.UIElements命名空间)可实现灵活定时任务,适合复杂场景:

代码示例:

using UnityEngine;
using UnityEngine.UIElements;

public class TimerBasedDelay : MonoBehaviour
{
    [SerializeField] private float startDelay = 3f;
    private bool canRunUpdate = false;

    private void Start()
    {
        Timer timer = new Timer(startDelay, () => 
        {
            canRunUpdate = true;
        });
        timer.Start();
    }

    private void Update()
    {
        if (!canRunUpdate) return;

        // 延迟后的Update逻辑
        Debug.Log("Update running via Timer");
    }
}

内容的提问来源于stack exchange,提问作者MiniCarrot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:20:35