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

推荐订阅源

J
Java Code Geeks
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
A
About on SuperTechFans
N
Netflix TechBlog - Medium
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
I
InfoQ
月光博客
月光博客
量子位
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
Engineering at Meta
Engineering at Meta
G
Google Developers Blog
D
DataBreaches.Net
宝玉的分享
宝玉的分享
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理

博客园 - 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的真实实现。