AS3预加载器类错误1120:访问未定义的属性e。 [请帮忙]

时间:2013-06-01 17:10:43

标签: actionscript-3 flash

我的预加载器类有一些问题。每次我尝试运行MovieClip时,它都会给我4个1120的错误:访问未定义的属性e。我不知道问题是什么。

包{

import flash.display.MovieClip;
import flash.events.*;
import flash.text.*;

public class loadingScene extends MovieClip {

    public var percentLoad:Number = Math.round(e.bytesLoaded / e.bytesTotal * 100);

    public function loadingScene() {
        stop();
        this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
    }


    public function onProgress(e:ProgressEvent):void {
        loader_txt.text = Math.round(e.bytesLoaded / e.bytesTotal *100)+ "%";
        if (percentLoad == 100){
            onLoaded();
        }

    }

    function onLoaded() {
        this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress);
        trace("YES"); 
    }

}

}

1 个答案:

答案 0 :(得分:1)

删除初始化percentLoad的位置。 e在那个时间点不存在,因此它是未定义的。你也没有在任何地方定义e,但MovieClip认为你做了。

import flash.display.MovieClip;
import flash.events.*;
import flash.text.*;

public class loadingScene extends MovieClip {

    public var percentLoad:Number = 0;

    public function loadingScene() {
        stop();
        this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
    }


    public function onProgress(e:ProgressEvent):void {
        percentLoad = Math.round(e.bytesLoaded / e.bytesTotal * 100);
        loader_txt.text = percentLoad+ "%";
        if (percentLoad == 100){
            onLoaded();
        }

    }

    function onLoaded() {
        this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress);
        trace("YES"); 
    }

}