2011-05-27 43 views
0

我已经创建保存为如下加载外部SWF文件“preloader.swf的”以下预加载完整事件:预载加载没有进展外部SWF和

var req:URLRequest = new URLRequest("main.swf"); 
var loader:Loader = new Loader(); 
loader.load(req); 

loader.contentLoaderInfo.addEventListener(Event.OPEN, showPreloader); 
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, showContent); 

var preloader:Preloader = new Preloader(); 

function showPreloader(event:Event):void 
{ 
    addChild(preloader); 
    preloader.x = (stage.stageWidth/2) - (preloader.width/2); 
    preloader.y = (stage.stageHeight/2) - (preloader.height/2); 
} 

function showProgress(event:ProgressEvent):void 
{ 
    var percent:Number = event.bytesLoaded/event.bytesTotal; 
    preloader.percentage.text = Math.round(percent * 100) + "%"; 
    preloader.bar.width = 300 * percent; 
} 

function showContent(event:Event):void 
{ 
    removeChild(preloader); 
    addChild(loader); 
} 

我在读尝试避免进展和COMPLETE事件,因为这些事件不能100%的时间工作。

现在我的问题是这样的吗?有没有一种方法可以让我具有加载外部SWF文件(如上所述)但不使用PROGRESS和COMPLETE事件的相同功能?

如果是这样,任何人都可以建议我什么编码添加/更改?

谢谢。

回答

0

你有没有用过Timer?您在每个时间间隔检查SWF是否完全加载。

但是,PROGRESS和COMPLETE事件应始终有效。你的项目有哪些不起作用?

+0

虽然在本地进行测试,但是预加载器从不给我任何麻烦。但是当我在线上传时,preloader的加载速度比平时快,或者有时会冻结。一旦预加载器挂起并且网站被刷新,或者缓存被清除,该网站将按照预期完美工作,即按预期加载比以前更慢。我无法理解和解决的奇怪之处在于,只有当预加载器冻结/挂起并且网站被刷新或者缓存被清除时,整个网站才能完美地工作,没有毛刺或锁定, UPS! – JPF 2011-05-27 09:02:48