我正在从光盘中读取包含需要向用户显示的信息的文件。我设置了一个事件侦听器,在加载文件时进行标记,这很容易。然而,在我可以显示信息之前,这增加了一个延迟,并且在主代码中进行简单的循环以等待加载文件似乎不起作用:
while (fileComplete == false);
从本质上讲,这只是冻结代码——当循环运行时,文件不会加载。我可以添加一个每隔几毫秒检查一次fileComplete==true的计时器,但我想知道是否有更好的方法。想法?
Flash默认为单线程,这意味着如果您正在启动异步进程,则需要释放Flash引擎的代码流才能真正完成该进程。做一个像你这样的无限循环并不能释放代码流,所以你应该放弃这个想法。相反,您应该盲目地等待Event.COMPLETE
事件并在侦听器中执行后加载操作,或者您应该侦听Event.ENTER_FRAME
并检查您在Event.COMPLETE
侦听器中设置的标志。前一种方法比较干净。