+ -
当前位置:首页 → 问答吧 → 我做的自身loading.本地测试OK.传到网上就不行.高手帮看看!

我做的自身loading.本地测试OK.传到网上就不行.高手帮看看!

时间:2007-09-07

来源:互联网

我做的自身loading.本地测试OK.传到网上就不行.高手帮看看!

到底是怎么回事呢?

fla部分:

在主场景中建立一个名为"atxt"的text文本.在第一帧输入以下代码
复制内容到剪贴板
代码:
import asFile.rootLoader;
var a:rootLoader = new rootLoader(atxt);
addChild(a);
a.loading();
stop()
AS部分:
复制内容到剪贴板
代码:
package asFile{
    import flash.display.Sprite;
    import flash.events.ProgressEvent;
    import flash.events.Event;
    import flash.text.TextField;
    public class rootLoader extends Sprite {
        private var _txt:TextField;
        public function rootLoader(txt:TextField):void {
            _txt=txt;
            //_txt.text = "fenghuo";
            //trace(root.loaderInfo)
        }
        //调用主场景下载的方法
        public function loading():void {
            trace(this.root.loaderInfo);
            this.root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loaded);
            this.root.loaderInfo.addEventListener(Event.COMPLETE, completeHandler);
        }
        private function loaded(e:ProgressEvent) {
            var loaded:Number = e.bytesLoaded;
            var total:Number = e.bytesTotal;
            var all:Number = Math.round(loaded/total*100);
            trace("loaded:"+loaded+" Total:"+total);
            _txt.text = "loaded:"+loaded+" Total:"+total;
        }
        private function completeHandler(event:Event):void {
            trace(event.target.content);
            event.target.content.play();
            //下载完毕,就自动播放
            //_txt.text = "Loaded:"+event.bytesLoaded;
        }
    }
}

作者: levinChiu   发布时间: 2007-09-07

反正我也没试出来

所以我选择用EnterFrame/Timer/setInterval 来检测root.loaderInfo


root.loaderInfo.addEventListener//这样的写法难道是蒙人的...IE无效..

作者: ycccc8202   发布时间: 2007-09-10

extends Sprite可能不妥,改成extends MovieClip试下

作者: amamam   发布时间: 2007-09-10

引用:
原帖由 ycccc8202 于 2007-9-10 18:14 发表
反正我也没试出来

所以我选择用EnterFrame/Timer/setInterval 来检测root.loaderInfo


root.loaderInfo.addEventListener//这样的写法难道是蒙人的...IE无效..
我测试出来了...可以使用..

在输出SWF时要选择网络..就可以用了...

但是很变态..

AS代码必须写在第一帧,否则不检测...

作者: levinChiu   发布时间: 2007-09-12

在输出SWF时要选择网络也是不好用的,
this.root.loaderInfo.addEventListener(ProgressEvent.PROGRESS, myloadmovie);
this.root.loaderInfo.addEventListener(Event.COMPLETE, myover);
this.root.loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, myloadError);
这种方法的确很诡异,有时候会走加载,有时候根本就不走,而且我判断了一下侦听都是存在的,没办法,哎。。  期待高手解决.....

作者: vanchor   发布时间: 2010-12-30

看2楼大虾的回复。

那就是解决方案

作者: flash023   发布时间: 2010-12-30