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丢失,因为它是局部变量。     

要回复问题请先登录注册