[Unity] 在协程中等待指定的毫秒

本文介绍了一个静态类的实现,该类提供了一个用于毫秒级等待的函数,帮助开发者解决常见时间同步问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先写一个静态类:

    /// <summary>
    /// 公用基础函数库
    /// <remarks>作者: YangYxd</remarks>
    /// </summary>
    public static class Common {
        /// <summary>
        /// 返回一个以毫秒为单位的时间 (0001-01-01 00:00:00.000 算起)
        /// </summary>
        public static long Ticks {
            get { 
                return (long) (System.DateTime.UtcNow.Ticks * 0.0001f)    ;
            }
        }
    
        public delegate bool CondDelegate(); 

        /// <summary>
        /// 等待指定的毫秒
        /// </summary>
        public static IEnumerator WaitForMillis(long millis, CondDelegate cond = null) { 
            
        } 
    }
    
    

 

调用方法:

 

yield return Common.WaitForMillis (5000);

 

转载于:https://www.cnblogs.com/yangyxd/p/5361057.html

### 如何在 Unity 中使用协程读取 TXT 文件 在 Unity 开发环境中,可以借助协程(Coroutine)来执行长时间运行的任务而不阻塞主线程。对于文件操作而言,尤其是大文件或者网络请求中的文件下载与读取,采用协程方式能够有效提升用户体验。 下面展示一段用于从本地路径加载文本文件内容到字符串变量的例子: ```csharp using System.IO; using UnityEngine; public class FileLoader : MonoBehaviour { private string filePath; // 定义存储文件绝对路径的字段 void Start() { filePath = Application.dataPath + "/Resources/sample.txt"; // 设置目标TXT文件的位置 StartCoroutine(LoadTextFile()); // 启动协程函数 } IEnumerator LoadTextFile() { WWW www = new WWW("file:///" + filePath); // 创建WWW对象访问指定URL地址下的资源 yield return www; // 等待直到www完成其工作 if (string.IsNullOrEmpty(www.error)) // 如果没有错误发生,则继续往下走 { Debug.Log("成功读取:\n" + www.text); } else { Debug.LogError("读取失败:" + www.error); } } } ``` 需要注意的是,在现代版本的 Unity 中推荐使用 `UnityWebRequest` 替代已经过时的 `WWW` 类[^2]。因此建议更新上述代码片段如下所示: ```csharp IEnumerator LoadTextFileModernWay() { using (UnityWebRequest request = UnityWebRequest.Get(filePath)) { yield return request.SendWebRequest(); if ((request.result == UnityWebRequest.Result.ConnectionError) || (request.result == UnityWebRequest.Result.ProtocolError)) { Debug.LogError($"读取失败: {request.error}"); } else { var text = request.downloadHandler.text; Debug.Log($"成功读取:\n{text}"); } } } ``` 此外,考虑到跨平台兼容性和安全性问题,应当始终验证所提供的文件路径是否合法,并考虑异常情况处理机制以增强程序健壮性[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值