我正在创建需要跟踪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;
}
}
}
}
答案 0 :(得分:1)
在你的函数中,this
引用global
对象范围,而不引用类,global
对象没有root
属性,因此错误。如果您想访问该类的属性,则必须删除this
关键字。
var movieBytesLoaded:int = root.loaderInfo.bytesLoaded;
...
此外,您的变量名为movieBytesLoaded
和movieBytesTotal
,但您尝试访问gameBytesLoaded
和gameBytesTotal
,这也无效。