惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
量子位
阮一峰的网络日志
阮一峰的网络日志
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
美团技术团队
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
博客园 - 【当耐特】
L
LangChain Blog
A
About on SuperTechFans
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
Netflix TechBlog - Medium
博客园_首页
WordPress大学
WordPress大学
博客园 - Franky
Engineering at Meta
Engineering at Meta
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
M
MIT News - Artificial intelligence

博客园 - O和尚O

[转]Coroutine,你究竟干了什么? 转:Automatic Layout Groups How to Add Collider to Line Renderer in Unity [转] Edit Terrain foliage/texture at runtime [转]How to translate WORLD coordinates to TERRAIN coordinates in Unity3d [转]如何获取Untiy地形某一位置的贴图类型 Path Follow System using Waypoints C# [转]一步步使用3Dmax+Photoshop为游戏关卡设计瓦片化3D模型和无缝贴图(视频教程) [转]Unity游戏开发视频培训 [转]如何管理一个远程团队 [转]以《AI War》为例阐述AI元素概念与代码 [转]分享AI寻径设计的射线追踪法 [转]如何反推一个游戏 Physics.Raycast重载方法的参数隐式转换引发的血案 mac下汇编hello world 转:相机碰撞检测 转:拾起并拖拽物体(使用rigidbody.velocity) 转:如何设计一个沉浸式UI 转:如何实现一个滚动列表
Time.timeScale 对 协程WaitForSeconds的影响
O和尚O · 2016-03-14 · via 博客园 - O和尚O

Unity中的

yield return WaitForSeconds(1.0f);

大概等价于下面的这些语句:

   float timer = Time.time + 1.0f;

   while (Time.time < timer) {

       yield return null;

   }

这就是为什么下面的语句会有问题,游戏暂停后,过了3秒依然不会恢复

IEnumerator Resume ()
    {
        Time.timeScale = 0;

        yield return new WaitForSeconds (3);

        Time.timeScale = 1;
    }

因为前面把Time.timeScale设置为0,时间已经不走了,所以WaitForSeconds函数中的Time.time一直都是同一个值,所以永远不会达到Time.time < timer的返回条件

有时间拿reflector反编译下unity代码看看WaitForSeconds的真实实现。