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

Unity C#开发:是否有简单可直接调用的等待休眠函数?

Unity C#中实现定时UI文本切换的简单方案

Unity里没有你写的那种同步阻塞式的wait_function(这种写法会卡死游戏主线程,导致UI和逻辑停摆),但用**协程(Coroutine)**就能轻松实现你要的定时效果,这也是Unity里处理这类时序逻辑最常用的方式。

直接给你可用的代码:

// 定义一个协程方法,用来按顺序切换文本
IEnumerator ShowTextSequence()
{
    // 假设t是你已经获取到的Text组件引用
    t.text = "Hello!";
    yield return new WaitForSeconds(3); // 等待3秒
    t.text = "I will be your guide.";
    yield return new WaitForSeconds(3); // 再等3秒
    t.text = "TO DEATH!"; // 注意:你原代码里这里写错了,text是属性不是方法,不能用括号调用
}

启动这个协程很简单,在需要触发文本序列的地方(比如脚本的Start方法里)加一行:

void Start()
{
    StartCoroutine(ShowTextSequence());
}

补充几个细节:

  • WaitForSeconds是Unity内置的等待类,直接用就行,不用自己实现
  • 协程不会阻塞主线程,等待期间游戏的UI和其他逻辑都能正常运行
  • 如果需要不受游戏时间缩放影响的真实时间等待,可以换成WaitForSecondsRealtime(3)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:07:05