我试图启动一个内部有while(true)
循环的协程。我在循环中有一个yield return null;
,但是编辑器还是崩溃了。
代码:
第一个
(it在音乐开始播放之前不会崩溃)
据我所知,这不会使unity崩溃。为了使事情更加混乱,我有另一个IEnumerator,它里面有一个while(true)循环,它不会使编辑器崩溃。
另一个IEnumerator:
private IEnumerator MusicProgressTextSetter()
{
VisualElement root = GetComponent<UIDocument>().rootVisualElement;
while (true)
{
root.Q<Label>("Song-progress-label").text = $"{music.clip.length} / {music.time}";
root.Q<Slider>("Music-time-slider").SetValueWithoutNotify(music.time);
yield return null;
}
}
这首歌也是从
1条答案
按热度按时间emeijp431#
最有可能的编辑器崩溃,因为它可以检测到无限循环,这将发生与:
它不会崩溃,直到音乐开始播放,这意味着它将永远等待音乐停止,它可能永远不会发生,直到游戏停止运行?
如果您不需要
GridMover()
IEnumerator中的While
循环,可以将其删除,这样不会使编辑器崩溃。