在as2之前,我们都用_root.getBytesLoaded() / _root.getBytesTotal()的方法来监控加载进度,然而在as3中,所有的这一切都变了,变成侦听ProgressEvent.PROGRESS的bytesLoaded和bytesTotal来进行。
可是这样的话,加载外部swf的进度是没问题,加载自己也没问题,但是加载自己时却有了另外的不足之处。
以往的as2,如果lib中有link的mc,可以选择“在第一帧导出”,亦可不选这个而在后面的某个不可见的位置实例化这个link的mc。在as3中,如此却不行了。
假如frame1中有load块儿,侦听加载进度,完毕后进度frame2,我们在frame2中的不可见区域实例化了一个link的mc,如果用语句生成这个mc,虽然可以从getChild得到它,但是却永远显示不了,除非你将这个link的mc选择“在第一帧导出”。因此唯一的解决办法还是另创一个swf文件来用外部加载的方式加载自己。
google搜了很多,都是问这个问题的,都没有解答。有一个貌似得出了“答案”,其实是一个假象。他把所有的link的mc放在一个总mc中,然后讲总mc放在舞台上,这样还是等于“在第一帧导出”……
Posts Tagged ‘cs3’

本博客所有文章均采用