您的位置:首页 > 移动开发 > Unity3D

unity中游戏暂停的问题

2014-06-17 11:15 323 查看
unity里面可以用Time.timescale=0暂停游戏,但只会运行到

涉及到等待时间的地方会暂停,比如 invoke("f",1f); invokerepeating("f",1f,1f);

yield new return waitforseconds(2f);可能还有其他情况。。。。

但是类似于invoke("f",0);是不会暂停的。另外 yield return  startcoroutine();是

等到线程完了才继续往下执行。

比如:下面这种情况不会暂停,start()直接执行完,输出0--999,因为没有涉及到等待时间的地方

// Use this for initialization
    void Start () {
        //StartCoroutine ("ie");
        Time.timeScale = 0;
        //Debug.Log ("Fuck");
        for (int i=0; i<1000; i++) {
            Debug.Log(i);        
        }
    }

time.timescale=0;不会暂停 update()。。等等。。

另外为了游戏能暂停,就不要用 invoke 和 invokerepeating() 了。

全部都用携程代替, 这属于伪暂停。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: