1120: Access of undeined property event.
...抛出了event.bytesLoaded和event.bytesTotal
public class Main extends MovieClip {
public function Main() {
system_load.bar.scaleX = 0;
this.stage.addEventListener(Event.ENTER_FRAME, this._loadUpdate);
}
private function _loadUpdate( e:Event ):void {
var bl:int = event.bytesLoaded;
var bt:int = event.bytesTotal;
system_load.bar.scaleX = (bl/bt);
}
}
我不确定要导入什么来完成这项工作。目前有以下导入:
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
请问,我会提供更多详情。
答案 0 :(得分:0)
您的事件变量称为e而非事件。尝试:
private function _loadUpdate( event:ProgressEvent ):void {
var bl:Number = event.bytesLoaded;
var bt:Number = event.bytesTotal;
system_load.bar.scaleX = (bl/bt);
}
编辑:如果你想访问bytesLoaded和bytesTotal,我建议你使用ProgressEvent
答案 1 :(得分:0)
您收到此错误的原因是您添加的侦听器使用的是Event
类型,而不是ProgressEvent
。 ProgressEvent
类具有属性bytesLoaded
和bytesTotal
,而Event
类则没有。ProgressEvent.PROGRESS
类。您正在寻找的是myLoader.contentLoaderInfo.addEventListener( ProgressEvent.PROGRESS, loadUpdate );
的用法。一个例子是:
ProgressEvent
虽然您当前的实现实际上没有加载任何内容,因为您将侦听器添加到舞台而不是加载器,因此不会显示进度。有关相关示例,请在此处查看var myLoader:Loader = new Loader();
myLoader.contentLoaderInfo.addEventListener( ProgressEvent.PROGRESS, loadUpdate );
myLoader.load( new URLRequest("path/to/image.png") );
课程:
这是一个加载图像的快速而肮脏的例子:
loadUpdate()
然后您可以按原样使用{{1}}。