加载简单字节的程序会收到运行时错误(错误#1010:术语未定义且没有属性。)

时间:2013-06-23 14:10:47

标签: actionscript-3 flash flex actionscript

我正在创建需要跟踪bytesLoaded和bytesTotal的简单程序。它看起来一切正常,但是我得到了这个运行时错误: 错误#1010:一个术语未定义且没有属性。 这是我的as3.0类代码:

package  {

import flash.display.*;
import flash.text.TextField;
import flash.events.Event;

   public class shoolWork3 extends MovieClip {
       public function shooWork3():void {
           addEventListener(Event.ENTER_FRAME, loadProgress);

        function loadProgress(event:Event) {
            // get bytes loaded and bytes total
            var movieBytesLoaded:int = this.root.loaderInfo.bytesLoaded;
            var movieBytesTotal:int = this.root.loaderInfo.bytesTotal;

            //Convert to kilobytes
            var gameKilobytesLoaded:int = gameBytesLoaded / 1024;
            var gameKilobytesTotal:int = gameBytesTotal / 1024;
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

在你的函数中,this引用global对象范围,而不引用类,global对象没有root属性,因此错误。如果您想访问该类的属性,则必须删除this关键字。

var movieBytesLoaded:int = root.loaderInfo.bytesLoaded;
...

此外,您的变量名为movieBytesLoadedmovieBytesTotal,但您尝试访问gameBytesLoadedgameBytesTotal,这也无效。