升级Unity5.6.5后,导出的IOS包,设置TimeScale,while循环出现问题

0回答

升级Unity5.6.5后,导出的IOS包,设置TimeScale,while循环出现问题

提问者 Loven 2018-07-17 97浏览
我将Unity5.5.5 p1升级到Unity5.6.5 p3版本。
游戏中战斗部分有改变TimeScale的地方。

在导出的IOS包中,进入游戏后,TimeScale改变的地方都没有引起时间的缩放,却使得人物动画无法正常跳转到下一个动画,隔很长时间后才会跳转(UI表现正常),查看log也没有发现报错。

经过进一步的排查,发现协程中的while循环退出后没有立即向下执行,代码如下:
IEnumerator STATE()

        //示意代码
        while(_instate)
        {
                Debug.Log("1");
                yield return null;
        }
        Debug.Log("2");

发现问题是当在改变了timeScale后,将_instate置为false,Debug.Log("2");在卡很长一段时间后才会执行,求问这是什么原因。

Unity5.5.5 版本没有出现过这种问题,5.6.5导出Android包也正常,只有5.6.5导出的IOS有这个问题

求问各位大佬是什么原因引起的,该如何解决?

快来消灭0回答吧

{{ dataList.answer_count | view-format }}回答
加载中... 查看更多回答