下面的下一个代码在Android上的行为有所不同,而在编辑器中,它的作用如预期:
private IEnumerator CountTo(int target)
{
yield return new WaitForSeconds(0.5f);
int start = 0;
do
{
ScoreText.text = string.Format(scoreText, start);
if (start != 0)
{
SoundManager.instance.Play(ScoreSound, default, 0.4f);
}
start++;
yield return new WaitForSeconds(0.33f);
}
while (start <= target);
}
在编辑器中,调用它时,它会等待0.5秒才启动(等待播放完整级别的声音),每次播放target
都会一次ScoreSound
计数(第一次除外)一)分数变化时。
在Android上,它首先播放所有需要的ScoreSound
声音,然后才缓慢(几乎像滞后一样)更改UI得分。在调试器中,一步一步地,一切正常。使用事件探查器,FPS在发生这种情况时很稳定。
有什么想法会导致这种情况吗?
谢谢!
答案 0 :(得分:0)
好的,伙计们,对不起,我想出来了,答案实际上确实很愚蠢...因此事实证明,这是由于后期处理堆栈的景深而引起的,它是在“关卡完成”阶段以及CountTo
被称为,所以似乎这两个以某种方式相互干扰,所以我已经拥有了。
再次抱歉!谢谢!