首页 > 编程语言 > 详细

unity, yield return new WaitForSeconds(waitTime) 在 Time.timeScale=0下卡死

时间:2016-01-31 02:53:12      阅读:726      评论:0      收藏:0      [点我收藏+]

例如下面代码:

IEnumerator f(){

  Time.timeScale = 0;

 

  float waitTime=2;

  yield return new WaitForSeconds (waitTime);

  Debug.Log(“hi”);

}

则“hi”永远输不出来。

欲在Time.timeScale=0的情况下wait一定时间,可用如下代码:

IEnumerator f(){

  Time.timeScale = 0;


  float waitTime = 2;
  float t = 0; 
  while(true){
    if(t==waitTime)break; 
    t+=Time.unscaledDeltaTime;
    t=Mathf.Min (t,waitTime);
    yield return null;
  }

  Debug.Log(“hi”);

}

unity, yield return new WaitForSeconds(waitTime) 在 Time.timeScale=0下卡死

原文:http://www.cnblogs.com/wantnon/p/5172414.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!