如何解决Flash调试器的行为不同于带有AS3和Events的播放器
|| 为什么这在Flash Professional的调试器上有效,但在已编译的SWF上显示“ 0”?var firstParameter:SomeObject = new SomeObject();
someLoader = new Loader();
someLoader.contentLoaderInfo.addEventListener(
Event.COMPLETE,function(evt) {
onLoaded(evt,firstParameter);
},false
);
function onLoaded (evt:Event,param:SomeObject):void {
mcOnSceneForTracing.text = param; // this is used for SWF debugging
}
作为记录:
为了使其正常工作,可以通过创建单独的作用域来“解决”。但是,我想知道为什么这个示例至少可以在调试器上运行。
并且,如果您有比使用两个匿名函数通过Event传递参数,变量,值等更好的方法,请告诉我!我不愿意扩大活动范围。也是2005年。
mcOnSceneForTracing
是我在调试器外部用来“跟踪”的内容。这里也接受建议,以提供更好(或更简单)的方法!我听说Vizzy很好,但是还没有尝试过。
解决方法
我的猜测是:从调试播放器加载资源时,该操作会立即完成,因此在调用匿名侦听器函数时,ѭ3是可用的,但是在其他地方运行swf时,加载操作会花费更长的时间,然后对firstParameter丢失,因为它是局部变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。