0

我正在创建需要跟踪 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;
      }
    }
  }
}
4

1 回答 1

1

在您的函数中,this是指global对象范围,而不是类,并且在global对象上没有root属性,因此出现错误。如果要访问类的属性,则必须删除this关键字。

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

您的变量也被称为movieBytesLoadedand movieBytesTotal,但您正在尝试访问gameBytesLoadedand gameBytesTotal,这也不起作用。

于 2013-06-23T23:10:28.883 回答