AS3资源加载模式迁移@陶冶2010
6项目案例•本草仙木项目中的加载模式在资源拆分之前是在Loading时全部加载,导致Loading等待时间过长
•经讨论,决定最终采用异步加载方式加载拆开的资源,加载过程中显示Loading
项目案例•此案例难点在于:确保以前的代码能够在异步环境中完美执行,不会报错
•get()操作数量>120次•get()操作执行完成之后,会立即对获取的资源操作
而这个时候,加载还没有完成,不能对资源scale等
•get()操作分散在各个类中,如果一一修改,会出现无法预料的BUG
解决方案•资源加载模式迁移:•对资源的get()操作进行代理,不立即执行后续的代码,而是将后续的操作用备忘录的模式记录下来,等待加载完成
•难点:•之前的同步操作要转换成异步操作,有可能出现注册点问题,或者可能出现“无法访问空对象引用的属性或方法
”DelayLoader类•publicfunctionDelayLoader(_symbolName:String,targetURL:String,_autoRemoveSelf:Boolean=true,_appDomain:ApplicationDomain=null,_loadingAnimation:MovieClip=null,_isMovieClip:Boolean=true):void//@author陶冶
taoye@tainengmiao
comDelayLoader类•varloader:DelayLoader=newDelayLoader(name,source,autoRemove,null,null,
isPNG);•if(isPNG)loader
setDelayCache();•loader
onLoadCompleted=function(){};•returnloader;迁移步骤•检