Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(66评价)
价格: 1299.00元
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

关于Time这个类
tttttttf发起了问答2018-04-26
3
回复
721
浏览

老师,请问我这段程序为什么输出不符合逻辑呢,我看遍了unityAPI和百度搜索出来的东西,任然不懂

代码------------------------------------------------------------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test1 : MonoBehaviour {

	// Use this for initialization
	void Start () {

        StartCoroutine(A());
        StartCoroutine(B());
        Invoke("C",.3f);
	}

    IEnumerator A()
    {
        Debug.Log("AAA" + Time.time);
        Debug.Log("AAA" + Time.unscaledTime);
        Debug.Log("AAA"+Time.timeScale);
        yield return new WaitForSeconds(.1f);
        Debug.Log("AAA"+Time.time);
        Debug.Log("AAA" + Time.unscaledTime);
    }

    IEnumerator B()
    {
        yield return new WaitForSecondsRealtime(.2f);
        Debug.Log("BBB"+Time.time);
    }

    void C()
    {
        Debug.Log("CCC"+Time.time);
    }
}

打印结果-----------------------------------------------------------------------------

所有回复
  • siki • 2018-04-27

    你说的哪一行不符合逻辑呢,输出有什么问题吗,按照你的逻辑的话应该是什么样子

    • tttttttf • 2018-04-28

      协程A 是0.1s的延迟 , 协程B 是0.2s的延迟,Invoke是0.3s的延迟
      它们的输出应该 先打印A 再打印B 再打印C 才对,可现在输出完全反过来了

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录或注册!
  • siki • 2018-04-29

    这个因为可能是由于在unity里面的协程本质上,不是线程,所以是有程序来协调调用的,在时间暂停上并不会像线程那么精准

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!