addChild():我怎么知道DisplayObject实际显示在舞台上的时间?

pro*_*ism 5 flash displayobject actionscript-3 addchild

我有一个大的(4096x4096)图像加载到内存中,但是当我尝试使用addChild时,在它实际被绘制到屏幕之前有一个很长的延迟.这是预料之中的.但是,是否有一个事件我可以听到知道DisplayObject(.png图像)实际绘制到屏幕的那一刻?

我试图将图像加载到屏幕上,然后在实际绘制后执行某些操作.

小智 5

延迟是由于 Flash Player 解压缩图像以准备渲染造成的。

诀窍是强制 Flash Player 在您需要之前解压缩 - 然后它就会“立即”出现在舞台上。

我不能把任何想法归功于我——但我会接受赏金;)。这是启发我并充分解释它的文章:http ://jacksondunstan.com/articles/2080

  • np,很高兴这也可以帮助其他人。仅供参考,这里有一个更详细的链接。显然,您可以设置 Loader 的 loaderContext 属性,以便在解压缩之前它不会触发 COMPLETE 事件。它甚至指定这对于 AIR 应用程序的 10MP+ 图像很有用。无法要求更多信息!http://help.adobe.com/en_US/as3/dev/WS52621785137562065a8e668112d98c8c4df-8000.html (2认同)
  • loaderContext 信息做得很好!这绝对是要走的路。它也应该适用于嵌入图像;通过使用 Loader.loadBytes(byteArray, loaderContext); (2认同)